读取group by 之外的字段
序号 |
姓名 |
性别 |
身高 |
1 | 张三 | 男 | 185 |
2 | 李四 | 女 | 161 |
3 | 王五 | 女 | 166 |
4 | 赵六 | 男 | 178 |
1.获取男生女生人数
select count(性别) , 性别 from 表名 group by 性别
结果为 2男 2女
2.如果想读取男生女生人数,且显示出来男女生最高的是谁呢?
下面这样写是不可以的:
消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 '列表' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
select count(性别), 姓名, 性别,身高 from 表名 group by 性别
正确的SQL:
select count(性别), max(姓名), max(性别),max(身高) from 表名 group by 性别 --或者 select count(性别), min(姓名), min(性别),min(身高) from 表名 group by 性别