Pertimbangkan jadual yang dipanggil "Pekerjaan" dengan struktur berikut:
<code>jobId, jobName, Priority</code>
Di mana "Keutamaan" ialah integer antara 1 dan 5.
Pernyataan masalah:
Anda perlu membuat pertanyaan yang mengira bilangan baris untuk setiap tahap keutamaan (1 hingga 5) dalam jadual "Pekerjaan". Pertanyaan harus mengembalikan lajur yang dinamakan "Keutamaan1" melalui "Keutamaan5", yang mewakili kiraan ini.
Penyelesaian:
Untuk melakukan ini, gunakan pernyataan SQL berikut:
<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>
Penjelasan:
NOTA: Jika anda ingin mengecualikan "jobId" dan "jobName", hanya alih keluar mereka daripada klausa SELECT dan GROUP BY.
Atas ialah kandungan terperinci Bagaimana Mengira Nilai Lajur Bersyarat dalam SQL: Contoh Berasaskan Keutamaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!