à l'aide de min, max et avg dans la requête mysql
J'ai un tableau Comme ci-dessous.
Je veux le product_id de Minimum, Maximum et de la Moyenne des coûts des produits dans une Seule Requête.
CREATE TABLE productlist(product_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
cost INT);
INSERT INTO productlist(cost)
VALUES('2450'),
('2200'),
('2580'),
('2405'),
('3500'),
('1500'),
('1800'),
('1520'),
('1740'),
('1940'),
('2940'),
('1250'),
('1290'),
('1390'),
('2900');
De sortie:
Min 12
Max 5
Avg 2093
J'ai essayé comme celui ci-dessous mais sa ne fonctionne pas.
SELECT product_id, MIN(cost) as mincost
FROM productlist
GROUP BY product_id
ORDER BY mincost ASC
LIMIT 0,1
UNION
SELECT product_id, max(cost) as maxcost
FROM productlist
GROUP BY product_id
ORDER BY maxcost DESC
LIMIT 0,1
Comment dois-je faire cette
le
J'ai besoin d'afficher le maximum et le minimum des coûts par produit dans le tableau.Le seul moyen est d'écrire une requête?
Qu'est-ce que l'id de produit avg ? si Avg = 2093, mysql fonction AVG ne reviendra pas vous le ID
product_id
est défini comme AUTO_INCREMENT
et un PRIMARY KEY
. l'obtention de la min, max, avg pour product_id
n'a pas de sens car aucun product_Id
est le même.J'ai besoin d'afficher le maximum et le minimum des coûts par produit dans le tableau.Le seul moyen est d'écrire une requête?
Qu'est-ce que l'id de produit avg ? si Avg = 2093, mysql fonction AVG ne reviendra pas vous le ID
OriginalL'auteur ArrayOutOfBound | 2012-12-31
Vous devez vous connecter pour publier un commentaire.
ok merci beaucoup
OriginalL'auteur ArrayOutOfBound
Il utilise la médiane, retourne l'id du produit dans tous les cas
ses utilisations médiane : en.wikipedia.org/wiki/Median, qui est différente de la moyenne, ou de mode. Ils sont tous les types de "moyenne".
vous pouvez accepter la réponse si ça aide.
OriginalL'auteur NimChimpsky
Cela répond à votre question exactement, mais il convient de noter qu'il en coûte 3 les analyses de la table pour trouver ces données. Aussi, l'exemple de la question suggère que la valeur moyenne est tronqué vers le bas pour 2093 de 2093.67. C'est peut-être préférable de la remplacer avec ronde.
SQL Violon
Je veux l'id de produit
Ce n'était pas dans l'exemple de sortie de sorte qu'il n'est pas dans la mienne. Je vais ajouté ça mais en général, je dirais que c'est une bonne idée de l'inclure dans la question si vous le voulez dans la réponse 🙂
OriginalL'auteur Andreas Wederbrand
C'est pour sélectionner tous les produits de
GROUP BY n'est pas exactement ici. Mais il semble que vous soyez débutant, googler pour vous aider.
Pour votre question, essayez ceci.
Vous avez raison, le manque de compétences en lecture
Essayez-le maintenant. J'ai ajouté un plus requête
OriginalL'auteur Sahal
la sortie que vous souhaitez n'est pas venue par la requête que vous avez écrit
vous devez essayer celui-ci pour obtenir la sortie requise
OriginalL'auteur Vishal Shah