MySQL嵌套计数语句
假设我有两张表,我想计算最畅销的艺术家:MySQL嵌套计数语句,mysql,Mysql,假设我有两张表,我想计算最畅销的艺术家: 音乐(id、标题、条形码) 艺术家(条形码、艺术家) 此查询返回例如: sells | barcode | artist --------------------------------- 1000 123 jdoe 500 223 kloe 100 321 jdoe 我如何计算jdoe复杂地卖出了1100首音乐 提前感谢您的提示您
- 音乐(id、标题、条形码)
- 艺术家(条形码、艺术家)
sells | barcode | artist
---------------------------------
1000 123 jdoe
500 223 kloe
100 321 jdoe
我如何计算jdoe复杂地卖出了1100首音乐
提前感谢您的提示您应该将
分组方式
从条码
更改为艺术家
(并从选择
语句中删除条码
):
SELECT COUNT(m.barcode) AS popular, m.barcode, a.artist, SUM(a.sell)
FROM `music` AS m
LEFT JOIN `artists` AS a
ON (m.barcode = a.barcode)
WHERE a.artist = 'jdoe'
GROUP BY m.barcode
ORDER BY `popular` DESC
呃,按艺术家分组?如果你不关心单个条形码,为什么要选择和分组它们?
SELECT COUNT(m.barcode) AS popular, m.barcode, a.artist, SUM(a.sell)
FROM `music` AS m
LEFT JOIN `artists` AS a
ON (m.barcode = a.barcode)
WHERE a.artist = 'jdoe'
GROUP BY m.barcode
ORDER BY `popular` DESC
SELECT COUNT(m.barcode) AS sells, artist
FROM music m LEFT JOIN
artists a
ON m.barcode = a.barcode
GROUP BY artist
ORDER BY sells DESC;