0
votes

Mois non combinés dans le compte de compte lors de la déclaration

J'ai une déclaration SQL et j'aimerais que les mois de l'année soient combinés. Mon requête est la fractionnement des mois et je ne peux pas comprendre ce que je fais mal. XXX

Voici ma sortie:

 Entrez la description de l'image ici


0 commentaires

3 Réponses :


0
votes

Inclure le mois dans groupe par code> instruction.

SELECT DATENAME(MONTH, hb_Disputes.OPENED) AS MonthName, 
COUNT(CASE WHEN REV_CLS = 2 THEN 1 END) AS Commercial, 
COUNT(CASE WHEN REV_CLS <> 2 THEN 1 END) AS Residential
FROM     hb_Disputes CROSS JOIN
              Users
WHERE  (Users.TX_EMPLOYEE = 'Ian Mark') AND (YEAR(hb_Disputes.OPENED) = YEAR(GETDATE()))
GROUP BY
hb_Disputes.OPENED,
DATENAME(MONTH, hb_Disputes.OPENED)


1 commentaires

@Ianmark Il y avait une faute de frappe, je l'ai corrigée. Veuillez réessayer.



0
votes

groupe par exactement l'expression que vous souhaitez avoir une seule ligne pour chaque valeur dans le jeu de résultats.

SELECT DATENAME(MONTH, '2001-' + cast(DATEPART(MM, hb_Disputes.OPENED) as char(2)) +'-01' ) AS MonthName, 
   COUNT(CASE WHEN REV_CLS = 2 THEN 1 END) AS Commercial, 
   COUNT(CASE WHEN REV_CLS <> 2 THEN 1 END) AS Residential
FROM     hb_Disputes CROSS JOIN
              Users
WHERE  (Users.TX_EMPLOYEE = 'Ian Mark') AND (YEAR(hb_Disputes.OPENED) = YEAR(GETDATE()))
GROUP BY DATEPART(MM, hb_Disputes.OPENED)
ORDER BY DATEPART(MM, hb_Disputes.OPENED)


1 commentaires

J'ai déjà essayé cela avant et ça me donne les mois par ordre alphabétique, pas dans l'ordre d'un calendrier normal. Même si cela montrait 1,2,3 car les mois iraient bien, j'en ai juste besoin dans le bon ordre



0
votes

Nom du mois nécessaire pour être supprimé et remplacé par des valeurs numériques:

SELECT MONTH (hb_Disputes.OPENED) AS MonthValue, 
COUNT(CASE WHEN REV_CLS = 2 THEN 1 END) AS Commercial, 
COUNT(CASE WHEN REV_CLS <> 2 THEN 1 END) AS Residential
FROM            hb_Disputes CROSS JOIN
                     Users
WHERE        (Users.TX_EMPLOYEE = 'Ian Mark') AND 
(YEAR(hb_Disputes.OPENED) = YEAR(GETDATE()))

GROUP BY
MONTH (hb_Disputes.OPENED)


0 commentaires