Mysql 最小计数上的SQL错误代码1248
在MySQL数据库中,我有一个名为“customer”的表。任务是列出客户数最少的州的名称,而不显示没有(零)客户的州 这是我的命令:Mysql 最小计数上的SQL错误代码1248,mysql,sql,Mysql,Sql,在MySQL数据库中,我有一个名为“customer”的表。任务是列出客户数最少的州的名称,而不显示没有(零)客户的州 这是我的命令: SELECT MIN(mycount) (SELECT state,COUNT(customerNumber) mycount FROM customers WHERE state IS NOT NULL GROUP BY customers.state HAVING COUNT(customerNumber) > 0); 但是它给出了一个#12
SELECT MIN(mycount)
(SELECT
state,COUNT(customerNumber) mycount
FROM customers
WHERE state IS NOT NULL
GROUP BY customers.state
HAVING COUNT(customerNumber) > 0);
但是它给出了一个
#1248错误-每个派生表都必须有自己的别名
您在子句中缺少了一个。此外,正如错误所说,您必须为派生表指定别名(t
,如下所示)。它也可以是其他任何东西)
如果您想要客户最少的州,那么查询应该如下所示
select state
from customers
group by state
having count(*) = (select min(cnt)
from (select count(*) from customers group by state) s
);
如果还需要计数,可以将count(*)
添加到外部select
select state
from customers
group by state
having count(*) = (select min(cnt)
from (select count(*) from customers group by state) s
);