博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql-连接及子查询使用删除重复记录
阅读量:7068 次
发布时间:2019-06-28

本文共 1165 字,大约阅读时间需要 3 分钟。

hot3.png

多表连接

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;

转载于:https://my.oschina.net/dreambreeze/blog/1098904

你可能感兴趣的文章
文件上传相关内容
查看>>
Linux下Nodejs安装(完整详细)
查看>>
OSChina 周四乱弹 —— 想换行了怎么办,别说按回车键
查看>>
ubuntu11.04安装JDK7及配置环境
查看>>
SpringBoot+Logback+Sentry(日志监控平台)
查看>>
vmware10中开启Intel VT-x
查看>>
一般wsdl生成的类都比较大,IDEA类文件大小限制导致无法加载该类问题
查看>>
Android 垂直Tab
查看>>
Android DecorView与ViewRootImpl
查看>>
goroutine 相关知识7
查看>>
redis命令学习笔记
查看>>
原生JS实现"旋转木马"效果的图片轮播插件
查看>>
RabbitMQ镜像队列
查看>>
怎么实现ABBYY FineReader 中的图像及文字的设置
查看>>
免费人脸识别APi
查看>>
我与开源的那些事-漫谈敏捷BI平台之BIPlatform的基础架构(二)
查看>>
freescale舵機控制
查看>>
小酒一杯品源码-DbUtils代码解读
查看>>
PHP获取表单textarea数据中的换行问题
查看>>
图学java基础篇之并发
查看>>