Wählen Sie den datasatz mit minimaler Zählung aus

Ich habe ein Setup wie unten:

Tabelle – Tasks

 | ResourceID | Name | T_SEQ | | 1 | Res1 | 90 | | 1 | Res1 | 91 | | 2 | Res2 | 92 | 

Ich laufe folgendes:

 select ResourceID, COUNT(ResourceID) from Tasks group by ResourceID 

Dies zeigt mir, dass Res1 hat eine Zählung von 2 und Res2 hat eine Anzahl von 1.

Jetzt will ich das Minimum bekommen, also muss ich in diesem Fall die ResourceID von 2 bekommen, weil es nur noch 1 Job hat, aber ich bin mir nicht sicher, wie es geht?

Danke für alle, die helfen können.

Eine Methode ist order by und top :

 select top 1 ResourceID, COUNT(ResourceID) from Tasks group by ResourceID order by COUNT(ResourceID); 

Sie können dies mit CTEs lösen. Dies gibt Ihnen alle Zeilen, die die Mindestanzahl haben:

 ; WITH occurrences AS ( select ResourceID, COUNT(ResourceID) AS Counts from Tasks group by ResourceID ) , min_occurrences AS ( SELECT MIN(Counts) AS min_counts FROM occurrences ) SELECT ResourceID FROM occurrences a INNER JOIN min_occurrences b ON a.Counts = b.min_counts