SQL 按计数大小写排序
SQL order by count case
我正在尝试按州降序显示每位总统的 first_name、last_name 和州。但是,如果多个总统来自同一个州,我需要按姓氏顺序显示。
我正在尝试使用 CASE
来执行此操作,但我是 SQL 的新手并且不太熟悉如何使用 WHEN
/THEN
和ORDER BY
在一起。谁能指出我正确的方向?
我正在尝试做这样的事情:
SELECT first_name, last_name, state,
case
when COUNT(state)>1 then ORDER BY last_name
else ORDER BY state end
from president;
我还尝试将 CASE
子句移到 FROM
语句之后,并将其与 GROUP BY
和 ORDER BY
一起使用,但我没有成功我尝试过的所有组合所需要的结果。
任何人都可以告诉我我是否在正确的轨道上,或者是否有更简单的方法来做到这一点。
试试这个:
Select first_name, last_name,state
From president
OrderBy state asc, last_name asc;
我正在尝试按州降序显示每位总统的 first_name、last_name 和州。但是,如果多个总统来自同一个州,我需要按姓氏顺序显示。
我正在尝试使用 CASE
来执行此操作,但我是 SQL 的新手并且不太熟悉如何使用 WHEN
/THEN
和ORDER BY
在一起。谁能指出我正确的方向?
我正在尝试做这样的事情:
SELECT first_name, last_name, state,
case
when COUNT(state)>1 then ORDER BY last_name
else ORDER BY state end
from president;
我还尝试将 CASE
子句移到 FROM
语句之后,并将其与 GROUP BY
和 ORDER BY
一起使用,但我没有成功我尝试过的所有组合所需要的结果。
任何人都可以告诉我我是否在正确的轨道上,或者是否有更简单的方法来做到这一点。
试试这个:
Select first_name, last_name,state
From president
OrderBy state asc, last_name asc;