mysql 如何先判断组内所有数据flag(flag只能为1或者2) 若有一个值为1则这个组的flag为1,否则flag为2

要求最后显示这个组的状态,请问该怎么写sql文,谢谢大家。... 要求最后显示这个组的状态,请问该怎么写sql文,谢谢大家。 展开
 我来答
dingdang0702
2012-03-29 · TA获得超过384个赞
知道小有建树答主
回答量:375
采纳率:100%
帮助的人:245万
展开全部
select count(*),分组列 from 表名 group by 分组列 having flag=1;
按分组列分组,返回组中含flag=1的记录数
例子:
id 省份 flag
1 河北 1
2 河北 2
3 河南 2
4 河南 2
select count(*),省份 from 表名 group by 省份 having flag=1;
得出结果为
河北 flag含1
追问
谢谢,您的回答和我要的效果差不多了,我要的是还要同时查出河南分组的状态。这要怎么实现呢,万分感谢!
追答
select * from (select * from 表名 order by flag) as 新表名 group by 省份
思路:
先按flag升序排序,结果指定为新表
从新表中按省份分组,分组是有排序、去重效果的
得出的结果就是每个省份一条记录,flag含1则保留的就是含1的,不含1,保留含2的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式