@superkolya

Как получить выборку из одной и той же таблицы по разным условиям?

Например, есть таблица в postgres:
|user_id | message |
|---------|----------------|
|1 | Купил Lada |
|1 | Купил Volvo |
|1 | Купил Kia |
|2 | Купил Lada |
|3 | Купил Kia |
|3 | Купил Kia |
Марки авто может быть только 3: Lada , Volvo, Kia. Подскажите, как составить запрос, чтобы ответ был такой:
|user_id| Lada | Volvo | Kia |
| 1 | 1 | 1 | 1 |
| 2 | 1 | 0 | 0 |
| 3 | 0 | 0 | 2 |
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
SELECT
    user_id,  
    SUM(CASE WHEN (message='Купил Lada') THEN 1 ELSE 0 END) AS Lada,
    SUM(CASE WHEN (message='Купил Volvo') THEN 1 ELSE 0 END) AS Volvo,
    SUM(CASE WHEN (message='Купил Kia') THEN 1 ELSE 0 END) AS Kia
FROM 
    your_table
GROUP BY 
    user_id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы