Ich benutze MySQL.Wie können Vorkommen bestimmter Spaltenwerte in SQL effizient gezählt werden?
Ich habe eine Tabelle von service_status
:
id | service_id | service_status
----------------------------------------------------------------------
0 | 1001 | download_started
1 | 1001 | download_started
2 | 1002 | download_started
3 | 1002 | download_started
4 | 1002 | download_failed
5 | 1003 | download_started
6 | 1003 | download_failed
7 | 1003 | something_else
8 | 1003 | another_thing
ich für alle service_id
s abfragen möchten, und zwei zusätzliche Spalten, die die Anzahl der download_started
und Anzahl der download_failed
zählen:
id | service id | download_started | download_failed
----------------------------------------------------------------------
0 | 1001 | 2 | 0
1 | 1002 | 2 | 1
2 | 1003 | 1 | 1
I Achten Sie nur auf die Status download_started
oder download_failed
.
Vielen Dank.
ich die inkompatible Datenbank-Tags entfernt. Sie sollten nur mit der Datenbank markieren, die Sie wirklich verwenden. –
ist es mysql oder sql server? Wenn es SQL-Server ist, können Sie Pivot verwenden – sumit
Es ist nur MySQL-Abfrage. –