gpt4 book ai didi

sql - 查询结果组织

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

我正在尝试找出格式化此查询的最有效方法。

我有三个表 - Transaction、Purchase 和 Item。

期望的结果是为特定客户选择每个项目的销售数据(数量/销售额)。


表格格式如下:(=主键)*

交易:交易_ID*,时间戳

购买 Purchase_ID*, Sale, Item_ID, Transaction_ID, Quantity

项目: Item_ID*、Client_ID、描述


截至目前,我已经设置了一个查询来为给定的 client_id 选择每个项目:

SELECT Item_ID, Description FROM Item WHERE Client_ID = $ClientId  

然后我将结果存储在一个数组中,并执行查询以检索给定日期范围内每个 Item_ID 的销售数据:

SELECT Sale, Quantity
FROM Purchase INNER JOIN Transaction
ON Purchase.Transaction_ID = Transaction.Transaction_ID
WHERE Transaction.Timestamp >= $start
AND Transaction.Timestamp<= $end

然后对于获取的每一行,我将数量相加。

它可以完成工作,但可能不是完成这项工作的最有效方法。

我想按销售总额对这些数据进行排序,将最大的数字放在最前面
您如何将其从大到小排序?

有没有一种方法可以在一个查询中完成这一切?

最佳答案

下面的方法行得通吗?

SELECT Item_ID, SUM(Quantity), Sum(Sale)
FROM Item
JOIN Purchase ON Item.Item_ID=Purchase.Item_ID
JOIN Transaction ON Purchase.Transaction_ID=Transaction.Transaction_ID
WHERE Client_ID = $ClientId
AND Transaction.Timestamp>= $start
AND Transaction.Timestamp <= $end
GROUP BY Item_ID
ORDER BY SUM(Quantity), SUM(Sale) DESC

我认为这就是您想从您提出的好问题中得到的。那里可能有一个愚蠢的错误,因为我没有在你的 table 上测试过它,但它应该能让你开始。

关于sql - 查询结果组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1941513/

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