mysql 使用自定义规则分组
时间:2019-01-10
本文章向大家介绍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 ('2018-12-01 00:00:00', '01', '10');
INSERT INTO `t_score` VALUES ('2018-12-01 00:00:00', '02', '20');
INSERT INTO `t_score` VALUES ('2018-12-01 00:00:00', '03', '30');
INSERT INTO `t_score` VALUES ('2018-12-02 00:00:00', '01', '20');
INSERT INTO `t_score` VALUES ('2018-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
结果如下 :
- HDUOJ--1058HangOver
- 免插件实现WordPress的Sitemap功能
- HDUOJ--1865 1string
- Golang语言延迟函数defer用法分析
- HDUOJ---大菲波数
- HDUOJ Children’s Queue
- HDUOJ----1250 Hat's Fibonacci
- HDUOJ---1133(卡特兰数扩展)Buy the Ticket
- HDUOJ--2079选课时间(题目已修改,注意读题)
- HDUOJ---2082
- HDUOJ---2152
- nyoj-----D的小L
- HDUOJ---The Moving Points
- HDUOJ---------Kia's Calculation
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解