Mysql Сравнение вложенных данных между строками

0

У меня есть таблица с несколькими данными. В основном есть много записей, каждый из которых содержит уникальный, postid, posttype и rank:

Изображение 174551

теперь меня интересует postid, у которого есть posttype = 1 и ранг больше, чем тот же postid с posttype = 2 в основном:

select * from data where postid=254454 and posttype=1 and rank > same post id but posttype=2 and smaller rank

Надеюсь, что всякая помощь будет оценена

Теги:

1 ответ

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 |
+----------+--------+----------+------+

Ещё вопросы

Сообщество Overcoder
Наверх
Меню