读取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 性别
原文地址:https://www.cnblogs.com/bdf216/p/4244138.html