Rumah > pangkalan data > tutorial mysql > Bagaimana Mengira Keutamaan Kerja dan Menjana Data Sedia Carta?

Bagaimana Mengira Keutamaan Kerja dan Menjana Data Sedia Carta?

DDD
Lepaskan: 2025-01-09 22:56:43
asal
178 orang telah melayarinya

How to Count Job Priorities and Generate Chart-Ready Data?

Pengiraan bersyarat mengikut lajur

Penerangan masalah:

Andaikan anda mempunyai jadual dengan lajur jobId, jobName dan Priority, dengan Priority ialah integer antara 1 dan 5. Matlamatnya adalah untuk menjana pertanyaan yang mengira bilangan baris dengan nilai Priority tertentu dan memaparkan keputusan dalam format yang sesuai untuk membuat laporan carta.

Penyelesaian:

Untuk mencapai hasil yang diingini, anda boleh menggunakan gabungan ungkapan bersyarat dan fungsi agregat:

<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>
Salin selepas log masuk

Pertanyaan ini menggunakan ungkapan CASE untuk menyemak nilai Priority tertentu dan menetapkan nilai 1 jika syarat itu benar dan 0 sebaliknya. Nilai ini kemudiannya dijumlahkan untuk setiap kombinasi jobID dan JobName.

Klausa

GROUP BY memastikan hasil dikumpulkan mengikut nilai unik jobID dan JobName, dengan itu memberikan pecahan setiap kiraan kerja.

Dengan memformatkan hasil dengan cara ini, anda boleh membenamkannya dengan mudah ke dalam laporan carta untuk menggambarkan pengagihan nilai Priority untuk pekerjaan yang berbeza.

Atas ialah kandungan terperinci Bagaimana Mengira Keutamaan Kerja dan Menjana Data Sedia Carta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan