mysql自查询 重复_mysql-连接及子查询使用删除重复记录

多表连接

SELECT  t1.col_name,t2.col_name,t3.col_name

FROM table_name AS t1

INNER JOIN table_name AS t2 ON conditions

INNER JOIN table_name AS t3 ON conditions;

无限分类表设计与查询

CREATE TABLE tbd_goods_type(

type_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

type_name VARCHAR(20) NOT NNULL,

parent_id SMALLINT UNSIGNED NOT NULL DEFAULT 0

);

查找所有分类及其父类

SELECT s.type_id,s.type_name,p.type_name

FROM tbd_goods_type AS s

LEFT JOIN tbd_goods_type AS p

ON s.parent_id = p.type_id;

查找所有分类及其子类

SELECT p.type_id,p.type_name,s.type_name

FROM tbd_goods_type AS p

LEFT JOIN tbd_goods_type AS s

ON s.parent_id = p.type_id;

查找所有分类及其子类的数目

SELECT p.type_id,p.tyoe_name,count(s.type_name) typecount

FROM tbd_goods_type AS p

LEFT JOIN tbd_goods_type AS s

ON s.parent_id = p.type_id

GROUP BY p.type_name

ORDER BY p.type_id;

查找重复记录

SELECT goods_id,goods_name

FROM tdb_goods

GROUP BY goods_name H

AVING count(goods_name) >= 2;

删除重复记录

DELETE t1 FROM tdb_goods AS t1

LEFT JOIN (

SELECT goods_id,goods_name

FROM tdb_goods

GROUP BY goods_name

HAVING count(goods_name) >= 2 ) AS t2

ON t1.goods_name = t2.goods_name

WHERE t1.goods_id > t2.goods_id;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值