Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何打印分组得到的查询结果的每个值_Mysql_Sql_Group By_Concatenation - Fatal编程技术网

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;