SQL MAX COUNT & MIN COUNT



我正在以下两个表上尝试这两个SQL语句:

SELECT TOP 1 
    Country
FROM (
    SELECT
        customer.country,
        count(*) as Appointments
    FROM        
       customer.country  
    GROUP BY 
        country
    ORDER BY 
        count(*) 
) AS AppointmentCount

上面的 SQL 应该通过 COUNT 给出具有最大约会的国家/地区(对于我将使用 ORDER BY DESC(

表的图像

不幸的是,上面的SQL给出了以下错误,但我找不到解决方法:

#1064 - 您的 SQL 语法有误;请查看手册 对应于您的MariaDB服务器版本,以便使用正确的语法 在第 1 行的"1 个国家/地区"附近(选择客户国家/地区,计数(*(">

关于如何对上述 SQL 语句进行 gix 的任何帮助?任何帮助将不胜感激。提前谢谢。

问题是 MSSQL 的TOP语句。您需要改用LIMIT。试试这个:

SELECT
    Country
FROM (
    SELECT
        customer.country,
        count(*) as Appointments
    FROM        
       customer
    GROUP BY 
        country
) AS AppointmentCount
ORDER BY
    Appointments DESC
LIMIT 1
这是一个

小问题。您需要修复FROM子句。即 customer.country不是一张桌子。这将是正确的:

FROM        
   customer

此外,TOP与子查询并不真正兼容。幸运的是,您不需要子查询:

SELECT
     TOP 1  customer.country
FROM        
   customer
GROUP BY 
    country
ORDER BY 
    count(*) 

最新更新