意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

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

来源:恒创科技 编辑:恒创科技编辑部
2024-02-02 12:00:59


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

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


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

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


解决办法:


以下如果没有特殊说明则

定义 : 表名 为 table_name

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 的字段一定要用别名(跟数据库原字段名不一致),如果跟数据库字段同名的话会以未赋值时数据库字段的情况分组,虽然已经把空省份赋值为“河北”,但是分组后会出现河北分组重复的情况。(实际空省份还是独立一组)

上一篇: php 如何添加php扩展 下一篇: 手机怎么远程登录云服务器?