Calculer la somme des champs dans une autre table à l'aide d'une requête MySQL SQL
P粉244155277
P粉244155277 2024-04-06 19:39:29
0
1
801

J'ai un schéma comme celui-ci : table utilisateur avec les attributs "user_id" et "username" et une table de commandes avec les attributs "customer_id" (FK de user_id) et "finalPrice" schéma de base de données Je souhaite obtenir l'utilisateur avec le prix le plus élevé parmi toutes les combinaisons de commandes (essentiellement la somme de toutes les valeurs FinalPrice pour la commande, où customer_id = user_id) Je n'arrive pas à trouver une solution, donc tout soutien sera apprécié

select sum( (select o.final_price from `order` o where u.user_id=o.customer_id)) 
from user u group by u.user_id

est ce que j'ai essayé, mais je continue de recevoir le message d'erreur “子查询返回超过 1 行”. J'ai essayé de lire la documentation, mais je suis encore très inexpérimenté avec SQL.

P粉244155277
P粉244155277

répondre à tous(1)
P粉710478990

Basé sur votre demande Vous ne pouvez pas utiliser SUM 函数,而是使用内部的 SUM,这就是为什么它会抛出类似 Subquery 返回超过 1 行的错误

comme ça
SELECT  
u.user_id,
(SELECT SUM(o.final_price) FROM `order` o WHERE u.user_id=o.customer_id)
FROM 
user u 
GROUP BY u.user_id;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal