Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh mengumpulkan Data SQL mengikut Bulan dan Tahun untuk Pelaporan?
Mengumpulkan Data SQL mengikut Bulan dan Tahun
Dalam pertanyaan SQL, selalunya perlu untuk mengumpulkan data mengikut bulan dan tahun untuk analisis. Ini melibatkan mencipta lajur baharu yang mewakili gabungan kumpulan yang diingini.
Pertimbangkan pertanyaan berikut:
SELECT MONTH(date) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada FROM [Order] WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3') GROUP BY MONTH(date), YEAR(date)
Pertanyaan ini mengumpulkan data mengikut bulan, menghasilkan output seperti "9" untuk September . Untuk memaparkan bulan dan tahun bersama-sama, kita boleh menggunakan fungsi CAST untuk menukar nilai bulan dan tahun kepada rentetan dan menggabungkannya dengan tanda sempang.
SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada FROM [Order] WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3') GROUP BY CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4))
Pengubahsuaian ini akan memaparkan keputusan dalam format yang diingini, contohnya, "9-2011".
Sebagai alternatif, kita boleh menggunakan fungsi CAST dengan sifar pendahuluan untuk memastikan konsisten pemformatan:
GROUP BY CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2)
Ini akan menghasilkan output seperti "2011-09".
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengumpulkan Data SQL mengikut Bulan dan Tahun untuk Pelaporan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!