en utilisant MIN sur datepart GROUP BY ne fonctionne pas, renvoie des dates différentes
-
21-08-2019 - |
Question
Quelqu'un peut-il aider à une fonction d'agrégation .. MIN.
J'ai une table de voiture que je veux retourner le prix de vente minimum et moins un an à tbale qui a des voitures identiques mais différentes années et prix ...
En fait si je retiré l'enregistrement (contient un AN) du groupe par et sélectionnez les travaux de la requête, mais si je le laisse dans puis-je obtenir 3 voitures retournées qui sont exactement le même modèle, font etc mais avec des années ..
Mais j'utilise MIN il doit retourner 1 voiture avec l'année 2006 (l'année minimum entre les 3 voitures)
Le MIN (SalePrice) fonctionne parfaitement .. son registraton le thats pas owrking ..
Toutes les idées?
SELECT MIN (datepart (année, [Inscription])) AS YearRegistered, MIN (SalePrice), Modèle réduit, Maquillage DE [VehicleSales] PAR GROUPE datepart (année, [Inscription]), Modèle réduit, Maquillage
La solution
Si je comprends bien ce que vous recherchez, vous devez interroger:
SELECT Model, Make, MIN(datepart(year,[Registration])) AS YearRegistered, MIN(SalePrice)
FROM [VehicleSales]
GROUP BY Model, Make
it helps.
Autres conseils
Turro réponse sera de retour l'année d'inscription le plus bas et le prix le plus bas (modèle, marque), mais cela ne signifie pas que le prix le plus bas sera pour la voiture avec le plus bas année. Est-ce que vous avez besoin?
Ou, vous avez besoin d'un de ceux-ci:
-
prix le plus bas entre les voitures ayant année plus bas
-
année la plus faible entre les voitures ayant le plus bas prix
- ÉDITÉ ---
Vous avez raison au sujet de la requête, mais je veux trouver la voiture marque / modèle qui obtient moins cher l'année prochaine;)
Voilà pourquoi je fait un commentaire. Imaginez la situation suivante
Porshe 911 2004 2000
Porshe 911 2004 3000
Porshe 911 2005 1000
Porshe 911 2005 5000
Vous obtiendrez résultat que vous dira pas vraiment si cette voiture va moins cher en fonction de l'année ou non.
Porshe 911 2004 1000
Je ne sais pas comment vous dire si la voiture obtient l'année prochaine moins cher sur la base d'une ligne sans comparaison avec l'année précédente, au moins.
P.S. Je voudrais acheter une des voitures ci-dessus pour le prix indiqué: D
Vous obtenez ce que vous demandez: les voitures sont dans des groupes différents à chaque fois que leur modèle, la marque ou l'année est différente, et le (minimum, soit seulement) année et le prix minimum pour chacun de ces groupes est retour.
Pourquoi utilisez-vous GROUP BY?
Vous avez raison au sujet de la requête, mais je veux trouver la voiture marque / modèle qui obtient moins cher l'année prochaine;)
Vous devriez trouver moins cher (ou moyenne) marque / modèle par an et comparer avec le moins cher (ou moyenne) de l'année précédente (pour la même marque / modèle).
Ensuite, vous pouvez voir qui d'entre eux obtient moins cher l'année prochaine (je suppose que la plupart d'entre eux)