【mysql】case疑惑
来源:互联网 发布:淘宝助理类目空白 编辑:程序博客网 时间:2024/06/06 17:48
创建以下表:
CREATE TABLE `case_test` ( uid int(11), tid int(11), status tinyint(3), PRIMARY KEY (`uid`,tid)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
插入数据
INSERT INTO `case_test` VALUES (1,1,0),(1,2,0),(1,3,0),(1,4,0),(1,5,0),(1,6,0),(1,7,0),(1,8,0),(1,9,0),(1,10,0),(1,11,1),(1,12,1),(1,13,1),(1,14,1),(1,15,1),(1,16,1),(1,17,1),(1,18,1),(1,19,1),(1,20,1);
查询语句
select uid,sum(case status when 1 then 1 else 0 end) friend,sum(case status when status>0 then 1 else 0 end) concern from case_test group by uid;结果:
+-----+--------+---------+
| uid | friend | concern |
+-----+--------+---------+
| 1 | 10 | 20 |
+-----+--------+---------+
查询语句:
select uid,sum(case status when 1 then 1 else 0 end) friend,sum(case status when status>=0 then 1 else 0 end) concern from case_test group by uid;查询结果:
+-----+--------+---------+
| uid | friend | concern |
+-----+--------+---------+
| 1 | 10 | 10 |
+-----+--------+---------+
为什么case>0 和case>=0的结果是不一样的?
0 0
- 【mysql】case疑惑
- mysql case
- 疑惑?实战演示疑惑 mysql insert到底加什么锁
- 疑惑?实战演示疑惑 mysql insert到底加什么锁
- MySQL identifier case sensitivity
- mysql case when
- mysql case when
- mysql case when
- mysql 语句case when
- mysql 语句case when
- mysql 语句case when
- Mysql case的用法
- mysql 语句case when
- mysql 中 case count
- Mysql Case When
- mysql 语句case when
- mysql 语句case when
- Mysql Case 使用
- 好网站
- JavaScript示例六(事件冒泡与捕获)
- Java 中的语法糖 (Syntactic Sugar)
- 资源
- 欧拉回路求解
- 【mysql】case疑惑
- 递归练习之 a 到 b 的整数和 (c/c++)
- android中requestFocus
- java内存优化和性能优化
- GitHub上史上最全的Android开源项目分类汇总
- SQL Server 2008连接字符串写法(转)
- Linux环境进程间通信(五): 共享内存
- GridView实现 自动编号(转)
- Gridview添加滚动条 (转)