Я знаю, что есть много подобных тем, относящихся к этому, но я не могу найти ту, которая соответствует моей ситуации.
То, что я ищу, - это оператор mysql, который позволит мне группировать по user_id и возвращать набор максимального идентификатора (id не является уникальным столбцом).
Вот мои данные:
id url_id submit_date engine status message
14738 3629 2009-01-02 18:43:55 0pn 10 NULL
14738 3629 2009-01-02 18:43:55 Abacho 10 NULL
14738 3629 2009-01-02 18:43:55 Acoon 10 NULL
14739 3629 2009-01-02 18:43:55 Alexa 10 NULL
14739 3629 2009-01-02 18:43:55 Amfibi 10 NULL
14739 3629 2009-01-02 18:43:55 Burf 10 NULL
14740 4115 2009-01-02 18:43:55 0pn 10 NULL
14740 4115 2009-01-02 18:43:55 Abacho 10 NULL
14740 4115 2009-01-02 18:43:55 Acoon 10 NULL
14741 4115 2009-01-02 18:43:55 Alexa 10 NULL
14741 4115 2009-01-02 18:43:55 Amfibi 10 NULL
14741 4115 2009-01-02 18:43:55 Burf 10 NULL
Вот мое заявление sql:
SELECT * FROM table WHERE url_id IN (3629,4115) group by url_id having max(id);
Проблема в том, что оператор выводит только верхнюю поисковую систему для этого набора. Мне нужны все поисковые системы, включенные в этот набор идентификаторов. Я также не хочу использовать вложенные операторы SQL, поскольку это приводит к значительному снижению производительности.