Mysql 选择具有相等列(c1)值并添加另一列(c2)值的行。对列c1的所有不同列值执行相同操作
我需要为MySQL数据库编写一个SQL查询,根据必要的条件提供数据 我有一张这样结构的桌子Mysql 选择具有相等列(c1)值并添加另一列(c2)值的行。对列c1的所有不同列值执行相同操作,mysql,sql,Mysql,Sql,我需要为MySQL数据库编写一个SQL查询,根据必要的条件提供数据 我有一张这样结构的桌子 id: orderId amount : itemAmount rate : itemRate time : orderTime 现在我必须选择所有具有相同费率的行,然后必须添加具有相同费率的所有项目。这应该适用于eg的每种费率方式 id为1的行的费率为20美元,包含2项,第3行的费率为20美元,包含5项 id为2的行的费率为$40,包含4项,第4行的费率为$40,包含7项 我应该得到的结果是 rate
id: orderId
amount : itemAmount
rate : itemRate
time : orderTime
现在我必须选择所有具有相同费率的行,然后必须添加具有相同费率的所有项目。这应该适用于eg的每种费率方式
id为1的行的费率为20美元,包含2项,第3行的费率为20美元,包含5项
id为2的行的费率为$40,包含4项,第4行的费率为$40,包含7项
我应该得到的结果是
rate: $20 totalItem : 7
rate: $40 totalItem : 11
正如我在评论中所说,我不知道你的专栏叫什么,我会在我的回答中假设它们叫
id
,金额
,费率
和时间
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.
用更清晰的英语:
按比率对相关表格中的行进行分组,然后,为每个组提供比率并计算组中有多少行
我希望这就是你的意思。我不完全理解你的问题。也许是这个?玩弄
假设:您有一个名为orders的表,其中包含rate、amount、time和id列
amount存储一定数量的物品,rate是物品的价格,time是物品发生的时间
SELECT
rate,
SUM(amount)
FROM orders
GROUP BY rate
你的桌子结构一点也不清楚。是名为id
,amount
,rate
和time
,还是orderId
,itemAmount
,itemRate
和orderTime
?冒号另一边的名字是什么意思?你试过什么?你看过SUM()和GROUP BY吗?啊,我想我误解了这个问题,这就是OP想要的。我必须说,这个问题很难理解。@11684我完全同意。。我想如果这不是你说的那样做,那么我会发布另一种方式来做。。我们可以干掉他们哈哈。。听起来他已经在数据库中存储了一个计数,这就是为什么我使用这个方法:)+1尝试:)