Atitit 数据库重复数据产生原因与解决总结
目录
4.6. 适当groupby 分组运算 配合聚合函数max等 3
4.7. 放弃表join,使用select字段udf join模式 3
4.8. Merge 融合语句(需要unique或union unique索引 3
导致left join多条对应
- 非空约束(not null)
- 唯一性约束(unique)
- 主键约束(primary key) PK
- 外键约束(foreign key) FK
- 检查约束(目前MySQL不支持、Oracle支持)
多列一般啊属于表级约束
联合约束 可以使用unique实现
-> unique(name,email)
联合约束,表示两个或以上的字段同时与另一条记录相等,则报错
建议trigger仅仅trig,主体检查放入sp udf 方便测试。。
groupby count配合having
思路, group by 分组可以对多个列进行分组, 分组后可以过滤掉重复的数据
count数查询出来了,那么count>1的自然是重复的数据 配合having
SELECT id,`name`,age,count(1) as c
FROM user GROUP BY `name`,age having c > 1