Как вывести в одной строке значения по нескольким строкам для одного ID с разными типами?

Для вывода значений по нескольким строкам для одного 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 с разными типами в одной строке.