请帮助我不知道我做错了什么。
select state, count(CID)
from customers
group by CID asc;
我正在尝试根据与之关联的唯一CID的数量按升序获取状态。我一直收到这个错误:
ORA-00979:不是GROUP BY表达式00979. 00000 - “不是GROUP BY表达式”*原因:*操作:行错误:2列:3
答案 0 :(得分:2)
如果要订购结果集,则需要使用order by
子句,如下所示。
此外,您希望group by state
而不是by CID
。
select
state,
count(distinct CID)
from
customers
group by
state
order by
count(distinct CID) asc;
由于您的问题提到唯一CID的关联(我不能100%确定如何解释),您可能需要考虑使用count(distinct CID)
而不是{{1 }}
答案 1 :(得分:2)
您混合了ORDER BY和GROUP BY语句。正确的查询应该是这样的:
select state, count(CID)
from customers
group by state
ORDER BY 2 asc
为了获得唯一CID的计数,您需要在COUNT函数中添加DISTINCT语句:
select state, count(DISTINCT CID)
from customers
group by state
ORDER BY 2 asc