mysql group by 多表_MySQL SUM在同一个表上有多个GROUP BY

在MySQL的同一个表中,基于不同组的条件生成多个和结果的最佳方法是什么?

我相信我选择不好,但我无法找到更好的方法.

想象一下,我有一个订单表,我跟踪订单的客户,它的价值和订单的一些限定符(类型).我想对按订单类型组合分组的给定客户的总订单求和:

delimiter $$

CREATE TABLE `orders` (

`idorder` int(11) NOT NULL,

`value` double DEFAULT NULL,

`idclient` int(11) DEFAULT NULL,

`type1` int(11) DEFAULT NULL,

`type2` int(11) DEFAULT NULL,

`type3` bit(1) DEFAULT NULL,

PRIMARY KEY (`idorder`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1$$

我的选择:

SELECT T0.idclient, T1.condition1, T2.condition2, T3.condition3 FROM

(SELECT 1 AS idclient) AS T0

LEFT JOIN

(SELECT idclient, SUM(value) condition1 FROM `test`.`orders` WHERE idclient = 1 AND type1 = 1 AND type2 = 1 AND type3 = 0) AS T1

ON T0.idclient = T1.idcli

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值