失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql如何自定义分组_mysql 使用自定义规则分组

mysql如何自定义分组_mysql 使用自定义规则分组

时间:2023-02-07 13:08:39

相关推荐

mysql如何自定义分组_mysql 使用自定义规则分组

1. 在开发时会遇到根据某个字段自定义规则分组,以下简单展示使用 mysql case when 的使用

准备测试数据:

DROP TABLE IF EXISTS `t_score`;

CREATE TABLE `t_score` (

`date` datetime NOT NULL,

`name` varchar(30) NOT NULL,

`bind_sum` varchar(10) NOT NULL DEFAULT '0',

PRIMARY KEY (`date`,`name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of t_score

-- ----------------------------

INSERT INTO `t_score` VALUES ('-12-01 00:00:00', '01', '10');

INSERT INTO `t_score` VALUES ('-12-01 00:00:00', '02', '20');

INSERT INTO `t_score` VALUES ('-12-01 00:00:00', '03', '30');

INSERT INTO `t_score` VALUES ('-12-02 00:00:00', '01', '20');

INSERT INTO `t_score` VALUES ('-12-02 00:00:00', '04', '30');

select * from t_score 的效果如下:

现在需要根据 date (时间) 和name 自定义 01 (02 ,03),04 分组求 bind_sum字段的和

select

date,

case when name = "01" then 1

when name in ("02","03") then 2

else 3 END as type,

sum(bind_sum) total

from t_score

GROUP BY date,type

结果如下 :

如果觉得《mysql如何自定义分组_mysql 使用自定义规则分组》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。