国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

SQL;如何編寫'Order By”語句,只要找到第一個匹配項,它就會切換
P粉808697471
P粉808697471 2023-09-12 17:25:22
0
1
658

如果以前曾提出過這個問題,我深表歉意。

這是我原來的表格。

用戶名 用戶類型 團隊
本杰明·特納 支持 貓福利協(xié)會
路易斯·貝內特 主要 貓福利協(xié)會
本杰明·特納 支持 安達爾青年隊
本杰明·特納 支持 ACaretalyst
辛西婭·本德 主要 志愿者中心
本杰明·特納 支持 志愿者中心

我想使用排序方式重新排列它,以便主帳戶首先出現(xiàn),然后是同一團隊的支持帳戶。本杰明支持但沒有主帳戶的其他團隊將添加在底部。

“預期結果”

用戶名 用戶類型 團隊
路易斯·貝內特 主要 貓福利協(xié)會
本杰明·特納 支持 貓福利協(xié)會
辛西婭·本德 主要 志愿者中心
本杰明·特納 支持 志愿者中心
本杰明·特納 支持 安達爾青年隊
本杰明·特納 支持 ACaretalyst

我已經(jīng)嘗試過了 “按用戶類型、團隊排序”,這會導致首先列出所有主帳戶,然后是支持帳戶(意味著同一團隊的主帳戶和支持帳戶不會粘在一起)

用戶名 用戶類型 團隊
路易斯·貝內特 主要 貓福利協(xié)會
辛西婭·本德 主要 志愿者中心
本杰明·特納 支持 貓福利協(xié)會
本杰明·特納 支持 志愿者中心
本杰明·特納 支持 安達爾青年隊
本杰明·特納 支持 ACaretalyst

另一方面,如果我嘗試“按團隊、用戶類型排序”,則主帳戶和支持帳戶會粘在一起,但沒有任何 Main 的團隊將首先出現(xiàn)(按字母順序排列)

用戶名 用戶類型 團隊
本杰明·特納 支持 ACaretalyst
本杰明·特納 支持 安達爾青年隊
路易斯·貝內特 主要 貓福利協(xié)會
本杰明·特納 支持 貓福利協(xié)會
辛西婭·本德 主要 志愿者中心
本杰明·特納 支持 志愿者中心

是否有任何方法可以構建順序,使第一行始終首先是主帳戶,然后是同一團隊的相關支持(無論團隊的字母順序如何) 然后,任何剩余的支持帳戶(沒有任何主帳戶)將添加到底部

P粉808697471
P粉808697471

全部回復(1)
P粉614840363

所以我們想根據(jù)這些規(guī)則進行排序

  • 首先完成團隊(其中具有Main UserType的用戶)
  • 然后由團隊(以確保MainSupport一起進行)
  • 最后,在每個團隊中按UserType排序:MainSupport 以及所有其他
  • >

我們可以嘗試這樣做

with MyUsers as (
  select user_name,
         Usertype,
         Team,
         case 
           when exists (select 1 
                          from MyTable m 
                         where m.Team = Team 
                           and m.Usertype = 'Main') then 1
           else 2
         end CompleteGroupOrder,     
         case 
           when Usertype = 'Main' then 1
           when Usertype = 'Support' then 2
           else 3
         end TeamOrder
    from MyTable)

  select user_name,
         Usertype,
         Team
    from MyUsers
order by CompleteGroupOrder,
         Team, 
         TeamOrder
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板