Mysql GROUP BY несколько предложений - PullRequest
0 голосов
/ 13 марта 2020

У меня есть следующая таблица.

+------------+--------------+-------------------+-------------------+
| media_id   | title        | artist            | plays             |
+------------+--------------+-------------------+-------------------+
|        100 | Song A       |              Jack |    6              |
|         35 | Song B       |           Suzzane |    33             |
|         73 | Song C       |              Anne |    2              |
|         50 | Song D       |            Jonnie |    7              |
|         50 | Song F       |            Jonnie |    123            |
|         50 | Song G       |            Jonnie |    39             |
+------------+--------------+-------------------+-------------------+

Я выполняю этот запрос (обратите внимание, что художник 'Jonn ie' имеет тот же media_id)

SELECT media_id, artist, title, SUM(plays) AS total_plays
FROM table
GROUP BY media_id, artist, title
ORDER BY total_count

Этот запрос работает нормально, но мой вопрос заключается в том, могу ли я сгруппировать по media_id те записи, которые имеют уникальный media_id, в то время как сгруппировать по media_id, исполнителю, озаглавить те записи, которые имеют одинаковый media_id (Jonn ie в этом примере)

1 Ответ

0 голосов
/ 13 марта 2020

Как то так?

SELECT z.media_id, z.artist, z.title, z.plays as "Total Plays by Title", b.total_plays as "total plays by artist"
FROM `playstable` z
inner join (select y.media_id,  SUM(y.plays) AS total_plays from `playstable` y  GROUP BY y.media_id ) b on z.media_id=b.media_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...