Heim > Datenbank > MySQL-Tutorial > Wie zähle ich Jobprioritäten mithilfe bedingter SQL-Abfragen?

Wie zähle ich Jobprioritäten mithilfe bedingter SQL-Abfragen?

Mary-Kate Olsen
Freigeben: 2025-01-10 10:02:44
Original
300 Leute haben es durchsucht

How to Count Job Priorities Using Conditional SQL Queries?

Verwenden Sie bedingte Zählabfragen für die Prioritätsanalyse

Bei der Datenanalyse ist häufig bedingtes Zählen erforderlich, um Informationen aus kategorialen Daten zu extrahieren. Stellen Sie sich eine Tabelle vor, die die Spalten „jobId“, „jobName“ und „Priority“ enthält, wobei „Priority“ zwischen 1 und 5 liegt. Wir müssen eine Abfrage erstellen, die die Anzahl der Zeilen für jede Prioritätsstufe zählt.

Abfrage mit CASE-Anweisung:

Die folgende Abfrage verwendet eine CASE-Anweisung, um eine bedingte Zählung für jede Prioritätsstufe durchzuführen:

<code class="language-sql">SELECT 
    jobID, 
    jobName,
    SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
    SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
    SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
    SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
    SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM 
    Jobs
GROUP BY 
    jobID, 
    jobName</code>
Nach dem Login kopieren

Für jede Zeile prüft die CASE-Anweisung, ob der „Priority“-Wert mit der angegebenen Zahl übereinstimmt (z. B. Priority1 ist 1). Der Ausdruck gibt 1 zurück, wenn er wahr ist, und 0, wenn er falsch ist. Die SUM-Funktion aggregiert diese Werte dann für jede Gruppe (bestimmt durch „jobId“ und „jobName“).

JobID und JobName entfernen:

Wenn „jobId“ und „jobName“ nicht in den Ergebnissen enthalten sein sollen, können Sie sie entfernen, indem Sie die Klauseln SELECT und GROUP BY ändern:

<code class="language-sql">SELECT 
    SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
    SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
    SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
    SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
    SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM 
    Jobs</code>
Nach dem Login kopieren

Diese vereinfachte Abfrage gibt nur die Bedingungsanzahl für jede Prioritätsstufe zurück.

Das obige ist der detaillierte Inhalt vonWie zähle ich Jobprioritäten mithilfe bedingter SQL-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage