1.利用sql语句筛选重复数据:1>先根据name名字进行分组,然后利用having 子句进行筛选,选出count(name)数量大于1的就是表中名字重复的记录

select name,COUNT(*) ct from bd_dicttype where dr=0 GROUP BY name HAVING  ct>1

having一般跟在group by之后,执行记录组选择的一部分来工作的。

where则是执行所有数据来工作的。

再者having可以用聚合函数,如having sum(qty)>1000

select name,COUNT(*) ct from bd_dicttype where dr=0 GROUP BY name HAVING  ct>1ORDER BY name

注意当使用group by having子句时order by 放在最后使用

2.解决mysql sum求和返回null问题或IFNULL应用

问题描述:sum求和要求返回float(或 integer或double等)类型,但当数据库不存在任何符合求和记录时,sum返回null,报类型绑定错误异常(mybatis:

8b548e2457550773b80134800a08e10c.png

解决办法:IFNULL(SUM(transfer_amount),0),当数据库不存在任何符合求和记录时,sum返回0

例如:SELECT IFNULL(SUM(transfer_amount),0)   FROM cm_agent_withdrawal  WHERE  transfer_status in (1,2,3)

mysql IFNULL(expr1,expr2)

如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2。

IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。

Logo

一站式 AI 云服务平台

更多推荐