Mysql 如何打印分组得到的查询结果的每个值
上面的查询将给我唯一的职业和它们的计数,按其出现的升序排列。现在我想使用结果打印语句Mysql 如何打印分组得到的查询结果的每个值,mysql,sql,group-by,concatenation,Mysql,Sql,Group By,Concatenation,上面的查询将给我唯一的职业和它们的计数,按其出现的升序排列。现在我想使用结果打印语句 SELECT DISTINCT OCCUPATION, COUNT(*) FROM OCCUPATIONS GROUP BY OCCUPATION ORDER BY COUNT(*), OCCUPATION ASC; 我试过这个 There are a total of [occupation_count] [occupation]s. 但我有语法错误。 对于每个不同的职业 我该怎么做?我应该写一个子查询吗
SELECT DISTINCT OCCUPATION, COUNT(*)
FROM OCCUPATIONS
GROUP BY OCCUPATION
ORDER BY COUNT(*), OCCUPATION ASC;
我试过这个
There are a total of [occupation_count] [occupation]s.
但我有语法错误。
对于每个不同的职业
我该怎么做?我应该写一个子查询吗?在使用GROUP BY的查询中几乎不需要DISTINCT,因此您的查询不需要它。所以只要使用:
SELECT CONCAT('There are a total of ', COUNT(*), DISTINCT OCCUPATION, 's.')
FROM OCCUPATIONS
GROUP BY OCCUPATION
ORDER BY COUNT(*), OCCUPATION ASC;
请注意,SELECT DISTINCT是一个类似于LEFT JOIN的单个关键字,或者是NULL。关键字之间不应出现任何内容。谢谢,我很快就会接受。CONCAT函数中只缺少一个
SELECT CONCAT('There are a total of ', COUNT(*), ' ', OCCUPATION, 's.')
FROM OCCUPATIONS
GROUP BY OCCUPATION
ORDER BY COUNT(*), OCCUPATION ASC;