簡體   English   中英

SQL查詢給我錯誤的順序

[英]SQL query giving me wrong order

為什么我無法通過此查詢獲得所需的訂單?

SELECT
       e_name,
       a_shortcut,
       GROUP_CONCAT(case
            when t_rank = 1 then  a_shortcut
            when t_rank = 2 then  a_shortcut
            when t_rank = 3 then  a_shortcut
            end separator ',') as group_con 
        FROM team 
        INNER JOIN event 
        ON team.EID = event.eid 
        WHERE e_type = 'nonsport'  
        GROUP BY event.eid ORDER BY t_rank

當我輸入t_rank時,此查詢始終為我提供隨機順序。 它不是給我1,2,3的命令,而是一直給我隨機的命令。 有人可以幫我嗎?

這是給我的結果

 {"nresults":[{"e_name":"Musical Festival - Song Composition","First":"2nd",
"Second":"1st",
"Third":"3rd"}]}

這是我的預期輸出

    {"nresults":[{"e_name":"Musical Festival - Song Composition","First":"1st",
"Second":"2nd",
"Third":"3rd"}]}

在此處輸入圖片說明

好吧,我現在開始工作了。 感謝大家。

 select
              e_name,
              a_shortcut,
              GROUP_CONCAT(case
                when t_rank = 1 then  a_shortcut
                when t_rank = 2 then  a_shortcut
                when t_rank = 3 then  a_shortcut
              end order by t_rank separator ',') as group_con 
            from
              team inner join event on team.EID = event.eid Where e_type = 'nonsport' 
group by event.eid

我只是將order by子句移到group_concat內部分隔符的末尾之后

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM