gpt4 book ai didi

mysql - GROUP BY lname ORDER BY 显示错误结果

转载 作者:行者123 更新时间:2023-11-29 03:52:48 26 4
gpt4 key购买 nike

我编写的这个查询,列出了销售竞赛中的前 25 名,显示了错误的结果。

用户并未表明它应该排在列表的最前面。知道问题可能是什么吗?

SELECT u.fname, u.lname, SUM(p.point) as points 
FROM comp_sale s, comp_product p, comp_user u
WHERE s.prod_id = p.product_id
AND s.sale_id = u.wp_id
GROUP BY lname
ORDER BY points DESC limit 25

表 comp_user:

user_id int(11) NO  PRI NULL    auto_increment
fname varchar(255) NO NULL
lname varchar(255) NO NULL
storename varchar(255) NO NULL
city varchar(255) NO NULL
phone varchar(255) NO NULL
wp_id int(11) NO NULL
type varchar(255) NO NULL

表 comp_sale

prod_id int(11) NO      NULL    
sale_id int(11) NO NULL
serial varchar(255) NO NULL

表 comp_product

product_id  int(11) NO  PRI NULL    auto_increment
description varchar(255) NO NULL
type varchar(255) NO NULL
cylinda_num int(11) NO NULL
eel_num int(11) NO NULL
point int(11) NO NULL

最佳答案

尝试使用适当的 ANSI 标准 GROUP BY

SELECT
u.fname, u.lname, SUM(p.point) as points
FROM
comp_sale s
JOIN
comp_product p ON s.prod_id = p.product_id
JOIN
comp_user u ON s.sale_id = u.wp_id
GROUP BY
u.fname, u.lname
ORDER BY
points DESC
LIMIT 25

此外,为了清楚起见,使用显式 JOIN

关于mysql - GROUP BY lname ORDER BY 显示错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com