Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Zweimal Werte Gruppieren bei SQL Anfrage

Hier werden die SQL Grundlagen behandelt...

Zweimal Werte Gruppieren bei SQL Anfrage

Beitragvon PhilippKr » Do 7. Mär 2019, 18:18

Hallo,

ich habe folgende Tabelle als Beispiel vereinfacht dargestellt:
Feld Feld Feld Feld Rolle AnfrageID Feld Feld
SB 1
SB 1
AL 1
AL 2
AL 2
SB 3
SB 3

Ich möchte die Anzahl der SB ermitteln, jedoch nur mit einmaliger ID.
Erste Ideen:
Select Rolle, Count(AnfrageID) From Tabelle WHERE Rolle="SB" GROUP BY Rolle, AnfrageID

Dann bekomme ich jedoch eine Auflistung:
SB 2
SB 2

Eigentlich möchte ich aber
SB 2

Müsste das quasi meine Unterabfrage sein, aus der ich nochmal per Count abfrage?
Hat jemand Ideen?

Danke und viele Grüße, Philipp
PhilippKr
 
Beiträge: 1
Registriert: Do 7. Mär 2019, 18:09

Re: Zweimal Werte Gruppieren bei SQL Anfrage

Beitragvon SQLUnion » Sa 9. Mär 2019, 10:36

Hallo PhilippKr,

wenn ich dein abstraktes Beispiel richtig verstehe, dann würde ich sagen, dass auch deine AnfrageID in das SQL-Statement eingefügt werden muss. Ich habe mal dein Beispiel nachgebaut:

Code: Alles auswählen
with cte as (
select 'SB' as Rolle, '1' as AnfrageID
UNION ALL
SELECT 'SB', '1'
UNION ALL
SELECT 'AL', '1'
UNION ALL
SELECT 'AL', '2'
UNION ALL
SELECT 'AL', '2'
UNION ALL
SELECT 'SB', '3'
UNION ALL
SELECT 'SB', '3'
)

Select Rolle,AnfrageID, Count(AnfrageID) From cte WHERE Rolle='SB' GROUP BY Rolle, AnfrageID

Ergebnnis:
Rolle AnfrageID CountAbfrageId
SB 1 2
SB 3 2

Deine Einträge im Beispiel stimmen aber nicht mit der Anzahl deiner Spalten überein :?

Gruß,
SQLUnion
SQLUnion
 
Beiträge: 202
Registriert: Fr 1. Nov 2013, 15:54


Zurück zu SQL Grundlagen

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron
  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: