1 votes

Retourner le quart dans le serveur SQL

Je suis complètement novice en matière de serveur SQL et je pensais naïvement qu'il y aurait une fonction QUARTER(), hélas il n'y en a pas et quelques recherches sur Google n'ont rien donné d'utile !

En gros, ce que je veux réaliser, c'est que pour toutes les lignes de ma base de données, je veux un compte de ces lignes groupées par trimestre.

Si possible, je voudrais conserver tous les calculs avec la requête, mais sinon c'est PHP qui déclenche tout.

5voto

Jimmy Stenke Points 8067

Cela devrait faire l'affaire, à condition que vous ayez une colonne de date dans la ligne, bien sûr :)

SELECT datepart(qq, my_date_column) as quarter, count(*) as rows
  from my_table
  group by datepart(qq, my_date_column)

Bien sûr, si vous avez des données sur plus d'une année, vous pouvez ajouter datepart(yyyy, my_date_column) également

1voto

J'utilise

select Datename(quarter,MYDATECOLUMN_NAME) 

MYDATECOLUMN_NAME est le format de la date.

0voto

davek Points 12514
select
CONVERT(DATETIME, CONVERT(CHAR(8),
DATEPART(YEAR, yourDateColumn) * 10000 +
( DATEPART(QUARTER, @date) * 3 - 2) * 100 +
1),
112) from...

pris ici :

http://geertverhoeven.blogspot.com/2007/01/get-quarter-of-given-date-in-datetime.html

Ou vous pouvez utiliser le SQL mentionné dans le commentaire de ce lien, pour obtenir le premier jour du trimestre :

DATEADD(qq,DATEDIFF(qq,0,@date),0)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X