基于不同行的带条件的MySQL查询
我有一张有星星尺寸的桌子。每行(即测量值)包含恒星的ID及其周期 比如说:基于不同行的带条件的MySQL查询,mysql,sql,Mysql,Sql,我有一张有星星尺寸的桌子。每行(即测量值)包含恒星的ID及其周期 比如说: Star_ID Period 1 3.6 1 3.9 2 4.11 2 4.12 2 8.5 3 7.1 4 1.31 4 1.32 我想写一个查询,只返回具有“闭合”周期测量值的恒星的星号:包含满足P1-P2
Star_ID Period
1 3.6
1 3.9
2 4.11
2 4.12
2 8.5
3 7.1
4 1.31
4 1.32
我想写一个查询,只返回具有“闭合”周期测量值的恒星的星号:包含满足P1-P2非常感谢:)一种方法是使用自连接和聚合:
select t.star_id
from stars t join
stars t2
on t.star_id = t2.star_id and t.period <> t2.period
group by t.star_id
having min(abs(t.period - t2.period)) < 0.02;
选择t.star\u id
从天上掉下来的星星不会加入
星星t2
在t.star\u id=t2.star\u id和t.period t2.period上
按t.star\U id分组
最小值(abs(t周期-t2周期))小于0.02;
注意:这将忽略两个重复的行(差值为0)。因此您可以从编写查询开始,如果查询不起作用,请向您的查询寻求帮助,以便!==自由查询编码显然我错了,所以===这里编码的自由查询同一个星不能有两个相同的周期,对吗?@Amr Magdy-对