Для вывода значений по нескольким строкам для одного ID с разными типами можно использовать оператор GROUP_CONCAT в MySQL.
GROUP_CONCAT объединяет строки в одну строку с разделителем между значениями. В данном случае, разделитель может быть настроен на любой символ (по умолчанию это запятая).
Вот пример использования GROUP_CONCAT:
SELECT
id,
GROUP_CONCAT(DISTINCT type ORDER BY type SEPARATOR ', ') AS types
FROM
my_table
GROUP BY
id;
Это запрос выберет все значения типов из столбца "type" в таблице "my_table" для каждого уникального значения ID. Затем оператор GROUP_CONCAT объединит все значения типов для каждого ID в одну строку, разделяя их запятой.
Также, в данном примере использованы агрегатные функции DISTINCT и ORDER BY для удаления дубликатов значений типов и упорядочивания их в одну строку.
Полученный результат будет содержать два столбца: ID и строку, где будут перечислены все типы для этого ID.
Например, если есть следующие данные в таблице:
id | type
---|-----
1 | A
1 | B
1 | C
2 | A
2 | B
То результат будет следующим:
id | types
---|--------
1 | A, B, C
2 | A, B
Таким образом, вы можете использовать оператор GROUP_CONCAT в MySQL, чтобы вывести значения по нескольким строкам для одного ID с разными типами в одной строке.