Горизонтальный лупер в одной таблице mysql

У меня есть таблица mysql:

У каждого пользователя 4 адреса электронной почты:

 id user_Id email
 1  11      [email protected]
 2  11      [email protected]
 3  11      [email protected]
 4  11      [email protected]
 5  12      [email protected]
 6  12      [email protected]
 7  12      [email protected]
 8  12      [email protected]
 9  13      [email protected]
 10 13      [email protected]
 11 13      [email protected]
 12 13      [email protected]

Как отсортировать результат строки по горизонтали?

Как это:

 user_Id   email1           email2           email3             email4
 11        [email protected] [email protected] [email protected]   [email protected]
 12        [email protected] [email protected] [email protected]   [email protected]
 13        [email protected] [email protected] [email protected]   [email protected]

взгляните на сводные таблицы в mysql

Lelio Faieta 18.04.2018 11:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
60
2

Ответы 2

select user_Id , GROUP_CONCAT(email ORDER BY email) from tab
group by user_Id 

таким образом вы получите только один столбец со всеми электронными письмами, а не по одному на каждое

Lelio Faieta 18.04.2018 11:07

Если ваши электронные письма ограничены до 4, вы можете следить за этим

select t1.user_id,
    (select email from test where test.user_id = t1.user_id limit 0,1) as email1,
    (select email from test where test.user_id = t1.user_id limit 1,1) as email2,
    (select email from test where test.user_id = t1.user_id limit 2,1) as email3,
    (select email from test where test.user_id = t1.user_id limit 3,1) as email4
from test t1
group by t1.user_id;

Отлично, приятно видеть этот ответ. :)

Pupil 18.04.2018 12:55

@jeanpaul, если этот ответ работает для вас, отметьте этот ответ как решение.

Pupil 18.04.2018 12:56

Другие вопросы по теме