Допустим, у меня есть следующая таблица:
id || name || published
--------------------------
1 || john || 1
7 || alex || 0
1 || roco || 0
4 || mika || 0
16 || mika || 1
8 || zack || 1
8 || alfi || 1
Какой запрос sql следует выполнить, чтобы получить идентификаторы 16 и 8?
Я попробовал следующее, но у меня всегда есть идентификаторы 1, 16 и 8:
SELECT A.*
FROM table A
INNER JOIN (SELECT id, published
FROM table
WHERE published > 0
GROUP BY id) B
ON A.id = B.id AND A.published = B.published
GROUP BY id
Есть идеи?