Heim > Fragen und Antworten > Hauptteil
Entschuldigung, wenn diese Frage schon einmal gestellt wurde.
Das ist meine ursprüngliche Form.
Benutzername | Benutzertyp | Team |
---|---|---|
Benjamin Turner | Unterstützung | Cat Welfare Association |
Louis Bennett | Haupt | Cat Welfare Association |
Benjamin Turner | Unterstützung | Andal Youth Team |
Benjamin Turner | Unterstützung | ACaretalyst |
Cynthia Bender | Haupt | Freiwilligenzentrum |
Benjamin Turner | Unterstützung | Freiwilligenzentrum |
Ich möchte es mithilfe der Sortierung neu anordnen, sodass das Hauptkonto an erster Stelle steht und dann die Support-Konten für dasselbe Team. Weitere Teams, die Benjamin unterstützt, aber über kein Masterkonto verfügen, werden unten hinzugefügt.
„Erwartete Ergebnisse“
Benutzername | Benutzertyp | Team |
---|---|---|
Louis Bennett | Haupt | Cat Welfare Association |
Benjamin Turner | Unterstützung | Cat Welfare Association |
Cynthia Bender | Haupt | Freiwilligenzentrum |
Benjamin Turner | Unterstützung | Freiwilligenzentrum |
Benjamin Turner | Unterstützung | Andal Youth Team |
Benjamin Turner | Unterstützung | ACaretalyst |
Ich habe es bereits ausprobiert „Sortieren nach Benutzertyp, Team“ führt dazu, dass zuerst alle Hauptkonten und dann die Supportkonten aufgelistet werden (was bedeutet, dass Haupt- und Supportkonten für dasselbe Team nicht zusammengehalten werden)
Benutzername | Benutzertyp | Team |
---|---|---|
Louis Bennett | Haupt | Cat Welfare Association |
Cynthia Bender | Haupt | Freiwilligenzentrum |
Benjamin Turner | Unterstützung | Cat Welfare Association |
Benjamin Turner | Unterstützung | Freiwilligenzentrum |
Benjamin Turner | Unterstützung | Andal Youth Team |
Benjamin Turner | Unterstützung | ACaretalyst |
Wenn ich andererseits „Sortieren nach Team, Benutzertyp“ versuche, bleiben die Haupt- und Supportkonten zusammen, aber die Teams ohne Hauptkonto werden zuerst angezeigt (alphabetisch)
Benutzername | Benutzertyp | Team |
---|---|---|
Benjamin Turner | Unterstützung | ACaretalyst |
Benjamin Turner | Unterstützung | Andal Youth Team |
Louis Bennett | Haupt | Cat Welfare Association |
Benjamin Turner | Unterstützung | Cat Welfare Association |
Cynthia Bender | Haupt | Freiwilligenzentrum |
Benjamin Turner | Unterstützung | Freiwilligenzentrum |
Gibt es eine Möglichkeit, die Reihenfolge so zu strukturieren, dass in der ersten Zeile immer zuerst das Hauptkonto und dann der zugehörige Support für dasselbe Team angezeigt wird (unabhängig von der alphabetischen Reihenfolge der Teams)? Dann werden alle verbleibenden Support-Konten (ohne Master-Konto) unten hinzugefügt
P粉6148403632023-09-13 13:12:21
所以我们想根据这些规则进行排序
团队
(其中具有Main
UserType
的用户)团队
(以确保Main
和Support
一起进行)团队
中按UserType
排序:Main
、Support
以及所有其他我们可以尝试这样做
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