SQL 按计数大小写排序

SQL order by count case

我正在尝试按州降序显示每位总统的 first_name、last_name 和州。但是,如果多个总统来自同一个州,我需要按姓氏顺序显示。

我正在尝试使用 CASE 来执行此操作,但我是 SQL 的新手并且不太熟悉如何使用 WHEN/THENORDER 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 BYORDER BY 一起使用,但我没有成功我尝试过的所有组合所需要的结果。

任何人都可以告诉我我是否在正确的轨道上,或者是否有更简单的方法来做到这一点。

试试这个:

Select first_name, last_name,state 
From president 
OrderBy state asc, last_name asc;