MySql的Group By

mysql> select * from user_test;
+----+-----------+----------+----------+
| id | user_name | user_sex | user_age |
+----+-----------+----------+----------+
|  1 | 张三      ||       18 |
|  2 | 李四      ||       17 |
|  3 | 王丽      ||       18 |
|  4 | 孔梦      ||       19 |
+----+-----------+----------+----------+
4 rows in set (0.03 sec)

mysql> select * from user_test group by user_sex;
+----+-----------+----------+----------+
| id | user_name | user_sex | user_age |
+----+-----------+----------+----------+
|  3 | 王丽      ||       18 |
|  1 | 张三      ||       18 |
+----+-----------+----------+----------+
2 rows in set (0.00 sec)
mysql> select * from (select * from user_test order by user_age)s group by s.user_sex;
+----+-----------+----------+----------+
| id | user_name | user_sex | user_age |
+----+-----------+----------+----------+
|  3 | 王丽      ||       18 |
|  1 | 张三      ||       18 |
+----+-----------+----------+----------+
2 rows in set (0.00 sec)
mysql> select * from user_test order by user_age;
+----+-----------+----------+----------+
| id | user_name | user_sex | user_age |
+----+-----------+----------+----------+
|  2 | 李四      ||       17 |
|  1 | 张三      ||       18 |
|  3 | 王丽      ||       18 |
|  4 | 孔梦      ||       19 |
+----+-----------+----------+----------+
4 rows in set (0.00 sec)
mysql> select * from (select * from user_test order by user_age limit 4)s group by s.user_sex;
+----+-----------+----------+----------+
| id | user_name | user_sex | user_age |
+----+-----------+----------+----------+
|  3 | 王丽      ||       18 |
|  2 | 李四      ||       17 |
+----+-----------+----------+----------+
2 rows in set (0.00 sec)

想在该表中查询男女同学中各自年龄最小的同学的基本信息,发现常规方法grop by后选取的一定是主键值小的,想完成该要求要在子查询中加limit.
另外,对于聚合列,应该是指被聚合函数用了的列而不是group by用的列,因为group by是完成了分组,聚合函数才是进行聚合的.

总结

分组要用非聚合列,查询要查分组列和聚合列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值