SQL 提问,我做错了什么?我是 mySQL 的新手

SQL Query, What have I done wrong? I am fairly new to mySQL

Solution problem

SELECT agency_name, Count(*) AS complaint_type_count
FROM service_request_xs
GROUP BY agency_name
ORDER BY Count(*) DESC; 

您必须告诉 count() 函数要计数的内容。您可以插入一个单独的列,或 * 代表所有列等。但是您必须计算一些东西。

这是一个 fiddle,展示了它是如何工作的: 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()函数时,你必须在括号之间添加一个列名;如:Count(complaint_type) 否则SQL就不知道算什么了

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

您还可以使用 Count(*) 来计算 table 中的所有行数。