0
votes

Essayer d'énumérer la quantité d'années spécifiques est dans une table

J'essaie de sélectionner une date d'heure avec une année spécifique à partir de la table et d'afficher le montant de ces dates qui ont cette année-là.

Je peux sélectionner juste l'année à partir de la dateTime, mais cela me donne la quantité de chaque date spécifique, pas seulement l'année. Comme: xxx

mais je veux juste 2012, 10 . xxx

Pour montrer une seule ligne avec 2012 dans une colonne et le nombre total de 2012 dans la deuxième colonne. Comme ceci: xxx


0 commentaires

3 Réponses :


3
votes

Utilisez la logique de date appropriée dans votre clause: xxx

une clause comme année (orderdate) n'est pas sargable, ce qui signifie que que les index de votre table ne peuvent pas être utilisés. Cela pourrait avoir de graves conséquences sur la performance de votre requête. En conséquence, en utilisant la logique booléenne sans appliquer une fonction à votre colonne dans le est le meilleur choix.


0 commentaires

0
votes

Vous pouvez y parvenir en écrivant une requête imbriquée xxx


0 commentaires

2
votes

pour SQL Server;

SELECT YEAR(Orderdate), COUNT(1)
FROM Orders
GROUP BY YEAR(Orderdate)


3 commentaires

Merci! Je suis nouveau à compter pour que je n'ai même pas pensé à mettre un 1 à là! :RÉ


Je découvre compte (1) maintenant. Réponse utile ici .


@Johwhite. . . Comptez (1) et Count (*) équivalent.