我有一张包含多个数据的表格。 基本上有很多记录,每个记录包含uniqueid,postid,posttype和rank:
现在我感兴趣的是一个posttype = 1且排名大于同一个postid且posttype = 2的postid 基本上是:
select * from data where postid=254454 and posttype=1 and rank > same post id but posttype=2 and smaller rank
希望我明白任何帮助表示赞赏谢谢
答案 0 :(得分:0)
你必须在同一张桌子上进行连接以检查你的情况,然后选择第二个(d2
)。
select d2.*
from data d1
inner join data d2 on d2.postid=d1.postid and d2.posttype=2 and d2.rank<d1.rank
where d1.postid=254454 and d1.posttype=1;
输出:
+----------+--------+----------+------+
| uniqueid | postid | posttype | rank |
+----------+--------+----------+------+
| 2 | 254454 | 2 | 2 |
+----------+--------+----------+------+