Задать вопрос

MySQL — как написать запрос с несколькими SELECT?

Допустим есть таблица TBL1

box_namefruit_name
box1apple
box1orange
box2apple
box1tomato
box2tomato
 

В итоге должно получиться так:
box_nametotal_fruitfruit_applefruit_orangefruit_tomato
box13111
box22101
 

Собственно как получить первые два столбца разобрался, а как добавить остальные?
  • Вопрос задан
  • 185 просмотров
Подписаться 3 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. Базы данных
    2 месяца
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL, Python, Telegram
SELECT
    box_name,  
    SUM(CASE WHEN (fruit_name='apple') THEN 1 ELSE 0 END) AS fruit_apple,
    SUM(CASE WHEN (fruit_name='orange') THEN 1 ELSE 0 END) AS fruit_orange,
	  .... и тд
FROM 
    your_table
GROUP BY 
    box_name
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Arik
Похоже тема по группировкам данным, просто нужно сгруппировать и посчитать сколько чего
SELECT `box_name`, `fruit_name`, COUNT(`id`) FROM `TBL1` GROUP BY `box_name`, `fruit_name`


total_fruit наверно придется подзапросом считать или на уровне php или что у вас там
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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