当前位置: 首页 > news >正文

从Mysql 数据库删除重复记录只保留其中一条(删除id最小的一条)

准备工作:新建表tb_coupon

/*Navicat Premium Data TransferSource Server         : root@localhostSource Server Type    : MySQLSource Server Version : 50527Source Host           : localhost:3306Source Schema         : leyouTarget Server Type    : MySQLTarget Server Version : 50527File Encoding         : 65001Date: 22/05/2019 18:03:38
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for tb_coupon
-- ----------------------------
DROP TABLE IF EXISTS `tb_coupon`;
CREATE TABLE `tb_coupon`  (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '优惠卷id',`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '优惠卷名称',`type` enum('1','2','3') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '优惠卷类型,1、抵扣  2、折扣(打折)',`condition` bigint(20) NULL DEFAULT 0 COMMENT '抵扣或折扣条件,如果没有限制,则设置为0',`reduction` bigint(20) NULL DEFAULT 0 COMMENT '优惠金额',`discount` int(3) NULL DEFAULT 100 COMMENT '如果没有折扣,为100。如果是八五折,折扣为85',`targets` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '优惠券可以生效的sku的id拼接,以,分割',`stock` int(6) NOT NULL COMMENT '剩余优惠券数量',`start_time` datetime NOT NULL COMMENT '优惠券生效时间',`end_time` datetime NOT NULL COMMENT '优惠券失效时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠卷表' ROW_FORMAT = Compact;-- ----------------------------
-- Records of tb_coupon
-- ----------------------------
INSERT INTO `tb_coupon` VALUES (1, 'uuu', '1', 0, 0, 100, '', 2, '1000-01-01 00:00:00', '1000-01-01 00:00:00');
INSERT INTO `tb_coupon` VALUES (2, 'uuu', '1', 0, 0, 100, '', 2, '1000-01-01 00:00:00', '1000-01-01 00:00:00');
INSERT INTO `tb_coupon` VALUES (3, 'ddd', '2', 0, 0, 100, '', 2, '1000-01-01 00:00:00', '1000-01-01 00:00:00');
INSERT INTO `tb_coupon` VALUES (4, 'ddd', '2', 0, 0, 100, '', 2, '1000-01-01 00:00:00', '1000-01-01 00:00:00');
INSERT INTO `tb_coupon` VALUES (5, 'eee', '2', 0, 0, 100, '', 2, '1000-01-01 00:00:00', '1000-01-01 00:00:00');
INSERT INTO `tb_coupon` VALUES (6, 'eee', '3', 0, 0, 100, '', 2, '1000-01-01 00:00:00', '1000-01-01 00:00:00');SET FOREIGN_KEY_CHECKS = 1;

1.查出重复的type

SELECT type FROM tb_coupon GROUP BY type HAVING count(type) > 1;

2.查出重复的type数据中最小的id

SELECT min(id) FROM tb_coupon GROUP BY type HAVING count(type) > 1;

3.查出重复的type数据中最小id的数据

SELECT * FROM tb_coupon WHERE id in(
SELECT min(id) FROM tb_coupon GROUP BY type HAVING count(type) > 1
);

4.查出重复的数据并删除

http://www.lryc.cn/news/308700.html

相关文章:

  • 从http到websocket
  • UE5 C++ Widget练习 Button 和 ProgressBar创建血条
  • 抖店无货源违规频发,不能入驻?这个是真的吗?
  • HarmonyOS—开发云数据库
  • mysql查询某个数据库的数量有多少GB
  • table展示子级踩坑
  • xss过waf的小姿势
  • 【六袆 - MySQL】MySQL 5.5及更高版本中,InnoDB是新表的默认存储引擎;
  • 可移植性(兼容性)测试指南
  • 软件更新快讯-Obsidian更新-1.5.8 linux Appimage直装
  • Android Gradle开发与应用 (二) : Groovy基础语法
  • iptables学习
  • kafka 集群搭建
  • springboot-基础-eclipse配置+helloword示例
  • 关于HTML标签应用教程
  • 3. 台阶问题
  • 推荐一个 Obsidian 的 ChatGPT 插件
  • aws的RDS数据库开启慢查询日志
  • 一文读懂 Python 值传递和引用传递
  • Linux进阶——系统安全,重要文件,加固系统的相关配置
  • C++三级专项 字符串逆序
  • 【iOS ARKit】ARWorldMap
  • 敏捷开发最佳实践:质量维度实践案例之软硬一体持续交付
  • PMP证书的含金量如何?
  • Linux 下安装Jupyter
  • docker 基础(二)
  • LeetCode 刷题 [C++] 第236题.二叉树的最近公共祖先
  • vue3+vite 项目的创建
  • Windows Server 2022 使用ApacheDS用户认证
  • 【Oracle】Oracle清理日志空间