sql server memilih atribut tetapi tidak mengelompokkan berdasarkan atribut itu

Saya sedang mengerjakan kueri untuk menghitung jumlah hasil untuk bulan dan tahun tertentu. Namun, saya juga perlu menggunakan tanggal lengkap untuk membuat string bulan tahun. Saya sadar bahwa apa pun yang ada di klausa pilih juga harus ada di klausa grup demi. Namun, saya hanya ingin mengelompokkan berdasarkan bulan dan tahun untuk mendapatkan hasil penghitungan yang benar. Bagaimana saya bisa mengatasi ini?

SELECT category, Count(ID), MONTH(aDate) AS month , YEAR(aDate) AS year, aDate,
CONVERT(CHAR(4),aDate) , 100) + CONVERT(CHAR(4),aDate) , 120) as monthYear
FROM table
GROUP BY month, year, category

person trs    schedule 21.09.2012    source sumber
comment
Bingung, seharusnya tidak ada perbedaan pengelompokan berdasarkan Bulan,Tahun, Kategori dan Bulan,Tahun,BulanTahun,Kategori   -  person Tony Hopkinson    schedule 22.09.2012


Jawaban (2)


Anda tidak perlu menggunakan seluruh tanggal, cukup gunakan pernyataan convert sebagai bagian dari klausa grup demi Anda

     SELECT category, 
        Count(ID), 
        MONTH(aDate) AS [month] , 
        YEAR(aDate) AS [year], 
        CONVERT(CHAR(4),aDate) , 100) + CONVERT(CHAR(4),aDate) , 120) as monthYear 
FROM table 
GROUP BY MONTH(aDate), 
        YEAR(aDate), 
        category,
        CONVERT(CHAR(4),aDate) , 100) + CONVERT(CHAR(4),aDate) , 120)
person Nic    schedule 21.09.2012

person    schedule
comment
Daripada hanya memposting kode, Anda harus menjelaskan mengapa Anda melakukan perubahan yang Anda buat. - person Sam; 23.09.2012