我在以下两个表中尝试这两个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为国家提供最大约会(对于MIN,我将使用ORDER BY DESC)
不幸的是,上面的SQL给出了以下错误,但我找不到修复它的方法:
#1064 - 您的SQL语法出错;检查手册 对应于您的MariaDB服务器版本,以获得正确的语法 靠近' 1国家FROM(选择customer.country,count(*)'在第1行
有关如何使用上述SQL语句的任何帮助?任何帮助将非常感激。提前谢谢。
答案 0 :(得分:2)
问题是TOP
语句,即MSSQL。您需要使用LIMIT
代替。试试这个:
SELECT
Country
FROM (
SELECT
customer.country,
count(*) as Appointments
FROM
customer
GROUP BY
country
) AS AppointmentCount
ORDER BY
Appointments DESC
LIMIT 1
答案 1 :(得分:0)
这是一个小问题。您需要修复FROM
子句。即customer.country
不是一张桌子。这是对的:
FROM
customer
此外,TOP
与子查询并不真正兼容。幸运的是,你不需要子查询:
SELECT
TOP 1 customer.country
FROM
customer
GROUP BY
country
ORDER BY
count(*)