SQL查询,我做错了什么?我对mySQL还相当陌生



解决方案问题

SELECT agency_name, Count(*) AS complaint_type_count
FROM service_request_xs
GROUP BY agency_name
ORDER BY Count(*) DESC; 
  • 已上传解决方案

您必须告诉count((函数要计数什么。你可以插入一个单独的列,或者为所有列插入*等等。但你必须计算一些东西。

这是一把小提琴,展示了它的工作原理:https://www.db-fiddle.com/f/dbPnE4BXv8oRRkQY4WQs8v/1

SELECT agency_name, 
COUNT(DISTINCT compliant_type) AS complaint_type_count
FROM service_request_xs
GROUP BY agency_name
ORDER BY COUNT(DISTINCT compliant_type) DESC;

通常,当使用Count()函数时,必须在括号之间添加列名;例如:CCD_ 2或否则SQL将不知道该计数什么。

您必须在SELECTORDER BY中执行此操作。

您也可以使用Count(*)对表中的所有行进行计数。

最新更新