Статьи / MySQL


GROUP BY

Группирует строки, а затем выводит по одной строке из каждой группы.



----------------
|table1 |
----------------
|id|title |flag|
----------------
|1 |First |1 |
|2 |Second|0 |
|3 |Third |0 |
----------------

----------------
|table2 |
----------------
|id|title |flag|
----------------
|1 |First |1 |
|2 |Second|0 |
|4 |Fourth|0 |
----------------


Запрос:
SELECT * FROM table1 INNER JOIN table2 USING (id) GROUP BY id;


Результирующая выборка:

----------------------------
|id|title |flag|title |flag|
----------------------------
|1 |First |1 |First |1 |
|2 |Second|0 |Second|1 |
----------------------------


Подобный запрос, только с применением DISTINCT:

SELECT DISTINCT title FROM table1 INNER JOIN table2 USING (title)


Результирующая выборка:

--------
|title |
--------
|First |
|Second|
--------