【问题标题】:How do I sort the sql select statement so it displays the leaderboard correctly?如何对 sql select 语句进行排序以便正确显示排行榜?
【发布时间】:2017-12-19 20:12:11
【问题描述】:

我在选择和分组下表时遇到问题。 “Igralci”表如下所示:

----------------------------------------------
|ID|U_ID|st_tock|st_srecanj|st_nizov|st_gemov|
----------------------------------------------
|19| 17 |   6   |     3    |   6    |   72   |
----------------------------------------------
|11| 19 |  12   |     6    |   24   |   144  |
----------------------------------------------
|15| 18 |  12   |     6    |   26   |   72   |
----------------------------------------------

我想按以下方式对 id 进行排序:

1. First looks at st_tock (if st_tock is same) ->
2. Looks at st_srecanj (if st_srecanj is same) ->
3. Looks at st_nizov (if st_nizov is same) ->
4. Looks at st_gemov

我试过了:

Select * from Igralci 
group by id, st_tock, st_srecanj, st_nizov, st_gemov
order by st_tock, st_srecanj, st_nizov, st_gemov;

想要的显示将是(ID):

  1. 15(st_tock 和 st_srecanj 与 11 相同,但他有更多 st_nizov)
  2. 11
  3. 19

【问题讨论】:

    标签: mysql sql select group-by leaderboard


    【解决方案1】:

    您需要在 order by 子句中添加“Desc”或“asc”以获得所需的结果。根据您提供的输出,您需要按顺序在每列后添加“Desc”

    Select * from Igralci 
    group by id, st_tock, st_srecanj, st_nizov, st_gemov
    order by st_tock desc, st_srecanj desc, st_nizov desc, st_gemov desc;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      相关资源
      最近更新 更多