我有这张表,我需要知道艺术家在他/她的职业生涯中搅动了多少张专辑,为了简洁起见,我只会发布一位艺术家。分组并计算不返回我期望的结果
"artist_ID" "song_ID" "album_ID" "touring"
"57" "98" "48" "No"
"57" "99" "48" "No"
"57" "100" "48" "Sí"
"57" "101" "48" "No"
"57" "102" "48" "No"
"57" "103" "48" "No"
"57" "104" "48" "No"
"57" "105" "48" "No"
"57" "106" "48" "No"
"57" "279" "163" "No"
"57" "280" "163" "No"
"57" "281" "163" "No"
"57" "380" "241" "No"
"57" "381" "241" "No"
然后获取数据我该走:
SELECT artist_ID,
count(*) AS churned_albums
FROM relation
GROUP BY group_ID,
album_ID;
我期待下面的数据:
"artist_ID" "churned_albums"
"57" "3"
但是,唉,我得到这个:
"artist_ID" "churned_albums"
"57" "9"
"57" "3"
"57" "2"
它为每张专辑的每首歌曲计数,我不知道如何告诉MySQL忽略darn歌曲并只计算专辑。我也尝试count(artist_ID)
而不是count(*)
和其他几个排列,但似乎没有任何工作。
这个问题与How to use count and group by at the same select statement和Using group by on multiple columns密切相关,但他们没有帮助。 :(
感谢您的帮助!:)
有一个在你的数据没有“GROUP_ID”一栏。 – Tibrogargan
为什么选择一件事,但由另一件事组? – Strawberry
@Tibrogargan woops!忘了编辑这些。该表是另一种语言,我忘了翻译这些字符串。 :P – Deses