求一个简单的分类汇总查询的问题

若鱼1919 2017-03-30 11:56:56
表结构:
mysql> select * from person;
+----+------+------+
| id | name | age |
+----+------+------+
| 1 | aa | 20 |
| 2 | aa | 21 |
| 3 | aa | 18 |
| 4 | aa | 31 |
+----+------+------+

CREATE TABLE `person` (
`id` int(11) NOT NULL,
`name` varchar(32) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `person` VALUES (1,'aa',20),(2,'aa',21),(3,'aa',18),(4,'aa',31);


我想得到两个分组:一个是大于20的人数,一个是小于等于20的人数。
请问该怎么写?




...全文
157 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
若鱼1919 2017-04-12
  • 打赏
  • 举报
回复
引用 5 楼 ACMAIN_CHM 的回复:
mysql> select * from person;
+----+------+------+
| id | name | age  |
+----+------+------+
|  1 | aa   |   20 |
|  2 | aa   |   21 |
|  3 | aa   |   18 |
|  4 | aa   |   31 |
+----+------+------+
4 rows in set (0.00 sec)

mysql> select sum(age>20),sum(age<=20) from person;
+-------------+--------------+
| sum(age>20) | sum(age<=20) |
+-------------+--------------+
|           2 |            2 |
+-------------+--------------+
1 row in set (0.00 sec)

mysql>
感谢!
ACMAIN_CHM 2017-03-31
  • 打赏
  • 举报
回复
mysql> select * from person;
+----+------+------+
| id | name | age  |
+----+------+------+
|  1 | aa   |   20 |
|  2 | aa   |   21 |
|  3 | aa   |   18 |
|  4 | aa   |   31 |
+----+------+------+
4 rows in set (0.00 sec)

mysql> select sum(age>20),sum(age<=20) from person;
+-------------+--------------+
| sum(age>20) | sum(age<=20) |
+-------------+--------------+
|           2 |            2 |
+-------------+--------------+
1 row in set (0.00 sec)

mysql>
若鱼1919 2017-03-31
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
额,这样行吗?
select (select COUNT(1) from person where age>20) as 大于20人数,
(select COUNT(1)  from person where age<=20) as 小于20人数
感谢!
二月十六 2017-03-30
  • 打赏
  • 举报
回复
额,这样行吗?
select (select COUNT(1) from person where age>20) as 大于20人数,
(select COUNT(1) from person where age<=20) as 小于20人数


若鱼1919 2017-03-30
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
最后的结果是想2 2这样还是id name age 这样的数据?
2, 2 这样的 不需要id name age 这些东西
二月十六 2017-03-30
  • 打赏
  • 举报
回复
最后的结果是想2 2这样还是id name age 这样的数据?

56,874

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧