我需要为MySQL数据库编写一个SQL查询,它根据必要条件为我提供数据
我有一张像这样的结构的表
id: orderId
amount : itemAmount
rate : itemRate
time : orderTime
现在我必须选择具有相同费率的所有行,然后必须添加具有相同费率的所有项目。这应适用于例如每种费率的手段。
ID为1的行的价格为20美元,含2件商品,第3行的价格为20美元,含5件商品
ID为2的行的价格为40美元,含4件商品,第4行的商品价格为40美元,含7件商品
我应该得到结果
rate: $20 totalItem : 7
rate: $40 totalItem : 11
答案 0 :(得分:1)
正如我在评论中所述,我不知道您的专栏名称是什么,我将在我的回答中假设他们被称为id
,amount
, rate
和time
。
SELECT rate, COUNT(*) AS totalItems -- Select the rate, and count everything
FROM theRelevantTable -- Use the rows in this table
GROUP BY rate -- But do the selection per group.
更清楚的英语:
按照rate
对相关表格中的行进行分组,然后,对于每个组,为我提供费率并计算该组中的行数。
我希望这就是你的意思。我不完全理解你的问题。
答案 1 :(得分:1)
也许这个? SQL FIDDLE与
一起玩假设:您有一个名为orders的表,其中包含列率,金额,时间,ID。
金额存储一定数量的项目,费率是它们的价格,时间是它发生的时间。
SELECT
rate,
SUM(amount)
FROM orders
GROUP BY rate