Jump to content

Group By mit zusätzlichen Attributen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe folgende Abfrage

SELECT TOP 20 
b.ServiceID, count(b.Consumer) AS 'Anzahl Nutzer'
FROM Table1 AS b
WHERE b.Type = 10 and b.Status = 1
GROUP BY b.ServiceID
ORDER BY [Anzahl Nutzer] desc

 Ich wurde nun gerne aus Table1 aber zusätzlich noch das Attribut "b.Name" anzeigen lassen. Wie kann ich das machen? Wenn ich es im Select mit angebe kommt natürlich der Fehler dass es weder eine Aggregatsfunktion ist noch in Group By steht. Ich möchte beides aber auch nicht, da ich nur nach b.ServiceID gruppieren will.

 

Danke für jede Hilfe.

Geschrieben
vor 17 Minuten schrieb Dukel:

Wie soll das gehen?

Woher soll die Abfrage wissen, welcher Name genutzt werden soll?

In der Abfrage direkt nicht, aber ist das eventuell mit einer 2. Abfrage möglich? Möchte aber das beide Results zusammengefasst werden (z.B. durch UNION) Weiß aber nicht ob das so in dem Fall möglich ist oder wenn ja wie.

Geschrieben (bearbeitet)

Bei einer Aggregierung müssen alle auszugebenden Spalten auch aggregiert werden.

Bei mehrere Namen innerhalb einer Service ID muss man das eben auch aggregieren (zusammenführen aller Namen, Gruppen pro Name, der erste oder letzte (max, min) Name,...).

 

EDIT:

Evtl. hilft:

https://docs.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-ver15

bearbeitet von Dukel
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...