gpt4 book ai didi

mysql - 我寻找最畅销产品的搜索没有返回预期的结果

转载 作者:行者123 更新时间:2023-11-29 00:17:23 26 4
gpt4 key购买 nike

如何选择畅销的产品标题(或*)排序?有两个相关的表,事务:

id|product_id|amount
-------------------------
1| 1 | 1
2| 1 | 3
3| 2 | 3
4| 2 | 1
5| 1 | 7

产品信息:

id|title     |
--------------
1| DVD1 |
2| Bag |
3| DVD2 |
4|Playstaion|
5| Xbox |

最佳答案

试试这个:

SELECT p.id,p.title,SUM(t.amount) as SOLD FROM products p INNER JOIN
transactions t on p.id=t.product_id
GROUP BY p.id,p.title
ORDER BY SUM(t.amount) DESC

结果:

ID  TITLE   SOLD
1 DVD1 11
2 Bag 4

SQL Fiddle 中查看结果.

编辑:

为了显示未售出的商品,我们必须使用 LEFT JOINIF NULL()

SELECT p.id,p.title,IFNULL(SUM(t.amount),0) as SOLD 
FROM products p LEFT JOIN
transactions t on p.id=t.product_id
GROUP BY p.id,p.title
ORDER BY SUM(t.amount) DESC

结果:

ID  TITLE         SOLD
1 DVD1 11
2 Bag 4
3 DVD2 0
4 Playstaion 0
5 Xbox 0

SQL Fiddle 中查看结果.

解释:

IF NULL() 如果参数为 null,则返回 0。

关于mysql - 我寻找最畅销产品的搜索没有返回预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22498738/

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