เซิร์ฟเวอร์ sql เลือกแอตทริบิวต์ แต่ไม่ได้จัดกลุ่มตามคุณลักษณะนั้น

ฉันกำลังดำเนินการค้นหาเพื่อนับจำนวนผลลัพธ์ในเดือนและปีที่กำหนด อย่างไรก็ตาม ฉันยังต้องใช้วันที่เต็มเพื่อสร้างสตริงเดือนปีด้วย ฉันทราบว่าสิ่งใดก็ตามที่อยู่ในส่วนคำสั่งที่เลือกจะต้องอยู่ในกลุ่มทีละส่วนด้วย อย่างไรก็ตาม ฉันต้องการจัดกลุ่มตามเดือนและปีเท่านั้นเพื่อให้ได้ผลลัพธ์การนับที่ถูกต้อง ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

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 แหล่งที่มา
comment
สับสนว่าไม่ควรมีความแตกต่างระหว่างการจัดกลุ่มตามเดือน ปี ประเภท และเดือน ปี เดือน ปี ประเภท   -  person Tony Hopkinson    schedule 22.09.2012


คำตอบ (2)


คุณไม่จำเป็นต้องใช้วันที่ทั้งหมด เพียงใช้คำสั่ง Convert เป็นส่วนหนึ่งของกลุ่มตามข้อ

     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
แทนที่จะแค่โพสต์โค้ด คุณควรอธิบายว่า เหตุใด คุณจึงทำการเปลี่ยนแปลงที่คุณทำ - person Sam; 23.09.2012