Чтобы получить первое совпадение в каждой группе в MySQL, вы можете использовать различные методы. Вот несколько примеров:
-
Использование подзапросов:
SELECT column1, column2 FROM your_table WHERE (column1, column2) IN ( SELECT column1, MIN(column2) FROM your_table GROUP BY column1 ); -
Использование JOIN и подзапросов:
SELECT t1.column1, t1.column2 FROM your_table t1 JOIN ( SELECT column1, MIN(column2) AS min_column2 FROM your_table GROUP BY column1 ) t2 ON t1.column1 = t2.column1 AND t1.column2 = t2.min_column2; -
Использование функции ROW_NUMBER():
SELECT column1, column2 FROM ( SELECT column1, column2, ROW_NUMBER() OVER (PARTITION BY column1 ORDER BY column2) AS rn FROM your_table ) subquery WHERE rn = 1; -
Использование самостоятельного соединения:
SELECT t1.column1, t1.column2 FROM your_table t1 LEFT JOIN your_table t2 ON t1.column1 = t2.column1 AND t1.column2 > t2.column2 WHERE t2.column2 IS NULL;
Это всего лишь несколько примеров того, как можно получить первое совпадение в каждой группе в MySQL. Вы можете выбрать метод, который соответствует вашим конкретным требованиям и структуре базы данных.