【问题标题】:SQL order by count caseSQL 按计数大小写排序
【发布时间】:2017-05-20 22:17:12
【问题描述】:

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

我正在尝试使用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 一起使用,但我没有运气尝试通过我拥有的所有组合获得所需的结果试过了。

谁能告诉我我是否走在正确的轨道上,或者是否有更简单的方法可以做到这一点。

【问题讨论】:

    标签: mysql count sql-order-by case


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 工作就像一个魅力,感谢您的快速响应和简单的解决方案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2023-03-06
    • 2015-02-23
    • 1970-01-01
    相关资源
    最近更新 更多