mysql group by 涉及到的字段有空数据问题

   统计数据需要按省份分组,这是大家经常遇到的问题。今天遇到一奇葩问题,由于省份(province)字段数据不规范,

有的是省份名称,有的是 "" (空)  有的是 "未知"。这时 group by province 时就会出现未知的一组  空数据的一组  当然

前台是不能显示空省份的  如果把空省份都循环赋值为未知的话  前台显示未知省份 显得也不是那么和谐。


    解决办法:


    以下如果没有特殊说明则

     定义 : 表名         为       table_name 

                  字段名     为       field_name1   field_name2

                  表别名     为       table_alias

                  字段别名 为       field_alias   


 select field_name1 ,field_name2 ,count( field_name3 ) as field_alias ,

 case province when '' then '河北' when '未知' then '河北' else province end as pro  
 from table_name where ....... group by pro    

             

    注意:如果在sql语句中给字段赋值,此时group by 的字段一定要用别名(跟数据库原字段名不一致),如果跟数据库字段同名的话会以未赋值时数据库字段的情况分组,虽然已经把空省份赋值为“河北”,但是分组后会出现河北分组重复的情况。(实际空省份还是独立一组)

       

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧桐深院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值