Как SELECT * из таблицы при поиске, имеет ли конкретный столбец два уникальных значения в другом столбце с MySQL?

У меня есть запрос MySQL, который я пытаюсь запустить, но не могу понять, как к нему подойти. Мои примерные данные, с которыми я работаю, таковы:

TABLE called Stop
COLUMNS of ID, STATION_ID, NAME_ID
ROWS OF DATA (1, 5, 4), (1, 6, 6), (1, 3, 2), (2, 9, 4), (3, 10, 20), (1, 12, 15), (4, 1, 3)

Я пытаюсь запросить два STATION_ID, которые существуют для одного конкретного идентификатора из таблицы Stop, где STOP ID должен иметь оба STATION_ID, иначе он ничего не вернет.

У меня было SELECT id FROM stop WHERE station_ID = 5 AND station_ID = 6, но это не работает. Какие параметры запроса мне нужны для этого?


person NewAtLearningThis    schedule 20.09.2020    source источник


Ответы (1)


Кажется, вам нужна агрегация и предложение having:

select id
from stop
where station_id in (5, 6)
group by id
having count(*) = 2

Если есть повторяющиеся (id, station_id), то вам нужно count(distinct station_id) вместо count(*).

person GMB    schedule 20.09.2020