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;