[英]SQL DISTINCT plus count
我目前有一张桌子,上面有专辑的名称,艺术家和标题(适用于Mp3)。 目前,我在左侧的网页上使用以下命令显示所有相册名称:
SELEC DISTINCT `album` FROM `mp3`
但我想显示每张专辑旁边的数量,例如:
A Very Good Album (3)
表示该记录中有3个整体。 我可以使用SQL吗? 选择Distinct,还要找出这张专辑有多少张?
与其说是DISTINCT
, DISTINCT
说是按album
分组的基本COUNT()
聚合 。
SELECT
album,
COUNT(*) AS num_records
FROM
mp3
GROUP BY album
如果要在SQL查询内的括号中使用它,请使用CONCAT()
。 不过,最好将其留给您的应用程序进行显示。
SELECT
/* The album title, and count in () as one column as a single string */
/* like "A Very Good Album (3)" */
CONCAT(album, ' (', COUNT(*), ')') AS album
FROM
mp3
GROUP BY album
尝试这个:
SELECT `album`, COUNT(*) FROM `mp3` GROUP BY `album`
您想要一个group by
:
select album, count(*)
from mp3
group by album
使用group by并像这样连接字符串
SELECT
CONCAT(`album`, ' (', COUNT(*), ')') as album
FROM `mp3`
GROUP BY `album`
SELECT DISTINCT CONCAT(album, ' (', COUNT(DISTINCT album), ')') AS album
FROM mp3
GROUP BY album
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.