从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.查出重复的数据并删除
相关文章:
从Mysql 数据库删除重复记录只保留其中一条(删除id最小的一条)
准备工作:新建表tb_coupon /*Navicat Premium Data TransferSource Server : rootlocalhostSource Server Type : MySQLSource Server Version : 50527Source Host : localhost:3306Source Schema : leyouTarget Server Type : My…...
从http到websocket
阅读本文之前,你最好已经做过一些websocket的简单应用 从http到websocket HTTP101HTTP 轮询、长轮询和流化其他技术1. 服务器发送事件2. SPDY3. web实时通信 互联网简史web和httpWebsocket协议1. 简介2. 初始握手3. 计算响应健值4. 消息格式5. WebSocket关闭握手 实…...
UE5 C++ Widget练习 Button 和 ProgressBar创建血条
一. 1.C创建一个继承Widget类的子类, 命名为MyUserWidget 2.加上Button 和 UserWidget的头文件 #include "CoreMinimal.h" #include "Components/Button.h" #include "Blueprint/UserWidget.h" #include "MyUserWidget.genera…...
抖店无货源违规频发,不能入驻?这个是真的吗?
我是电商珠珠 还没有踏入抖店这个电商行业的新手,单从别人的口中,听说了抖店无货源特别容易违规,还会被扣除全部的保证金,得不偿失之类的话。有的还专门劝诫新手不要做抖店,做了就会亏本之类的话,这搞得人…...
HarmonyOS—开发云数据库
您可以在云侧工程下开发云数据库资源,包括创建对象类型、在对象类型中添加数据条目、部署云数据库。 创建对象类型 对象类型(即ObjectType)用于定义存储对象的集合,不同的对象类型对应的不同数据结构。每创建一个对象类型&#…...
mysql查询某个数据库的数量有多少GB
要查询MySQL数据库中某个数据库(或称为“schema”)所占用的磁盘空间大小(以GB为单位),你可以使用information_schema数据库中的TABLES和DATA_LENGTH、INDEX_LENGTH字段来获取每个表的数据和索引的大小,然后…...
table展示子级踩坑
##elemenui中table通过row中是否有children进行判断是否展示子集,通过设置tree-prop的属性进行设置,子级的children的名字可以根据自己的子级名字进行替换,当然同样可以对数据处理成含有chilren的子级list。 问题: 1.如果是根据后…...
xss过waf的小姿势
今天看大佬的视频学到了几个操作 首先是拆分发可以用self将被过滤的函数进行拆分 如下图我用self将alert拆分成两段依然成功执行 然后学习另一种姿势 <svg id"YWxlcnQoIlhTUyIp"><img src1 οnerrοr"window[eval](atob(document.getElementsByTagNa…...
【六袆 - MySQL】MySQL 5.5及更高版本中,InnoDB是新表的默认存储引擎;
InnoDB 这是一个MySQL组件,结合了高性能和事务处理能力,以确保可靠性、健壮性和并发访问。它体现了ACID设计哲学。它作为一个存储引擎存在,处理使用ENGINEINNODB子句创建的或修改的表。请参阅第14章“InnoDB存储引擎”以获取有关架构细节和管…...
可移植性(兼容性)测试指南
可移植性是指应用程序能够安装到不同的环境中,在不同的环境中使用,甚至可以移动到不同的环境中。当然,前两者对所有系统都很重要。就PC软件而言,鉴于操作系统、共存和互操作应用程序、硬件、带宽可用性等方面的快速变化࿰…...
软件更新快讯-Obsidian更新-1.5.8 linux Appimage直装
更新内容 1.5.8: 从具有相同属性的文件导航时,固定属性不会显示。 修复了Home和End在导航文档顶部和底部时不总是起作用的问题。 Fixed properties not appearing when navigating from a file that has the same properties.Fixed Home and End not a…...
Android Gradle开发与应用 (二) : Groovy基础语法
1. Groovy是什么 Groovy是基于JVM虚拟机的一种动态语言,语法和Java非常相似,并能够无缝地与Java代码集成和互操作,增加了很多动态类型和灵活的特性。(闭包、DSL) 语法和Java非常相似这个特点,意味着,如果我们完全不懂…...
iptables学习
iptables的4表5链的处理流程 一:业务地址请求服务时,首先经过iptables服务,iptables通过校验规则,通过校验是否同意业务访问,规则从上到下,匹配规则都失败了的话,走默认规则 (1&…...
kafka 集群搭建
kafka集群搭建 1. kafka介绍 Apache Kafka是一个开源的流处理平台,由Scala和Java编写1。它是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统2。Kafka的最大特…...
springboot-基础-eclipse配置+helloword示例
备份笔记。所有代码都是2019年测试通过的,如有问题请自行搜索解决! 下一篇:springboot-基础-添加model和controller的简单例子常用注解含义 目录 配置helloword示例新建项目创建文件 配置 spring boot官方有定制版eclipse,也就是…...
关于HTML标签应用教程
简介 HTML(HyperText Markup Language)是用于创建网页结构的标记语言。在本教程中,我们将介绍一些常用的HTML标签,以及它们的用法和示例。 1. HTML基础结构 <!DOCTYPE html> <html> <head><title>页面…...
3. 台阶问题
数楼梯 题目描述 楼梯有 N N N 阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。 输入格式 一个数字,楼梯数。 输出格式 输出走的方式总数。 样例 #1 样例输入 #1 4样例输出 #1 5提示…...
推荐一个 Obsidian 的 ChatGPT 插件
源码地址:https://github.com/nhaouari/obsidian-textgenerator-plugin Text Generator 是目前我使用过的最好的 Obsidian 中的 ChatGPT 功能插件。它旨在智能生成内容,以便轻松记笔记。它不仅可以在 Obsidian 中直接使用 ChatGPT,还提供了优…...
aws的RDS数据库开启慢查询日志
#开启慢日志两个参数 slow_query_log 1 设置为1,来启用慢查询日志 long_query_time 5 (单位秒) sql执行多长时间被定义为慢日志1. 点击RDS然后点击参数组,选择slow_query_log,设置为1【表示开启慢日志】点击保存…...
一文读懂 Python 值传递和引用传递
文章目录 版本前言形参和实参值传递和引用传递Python 变量存储值语义和引用语义值语义引用语义 探讨 Python 值传递和引用传递不可变(immutable)类型可变(mutable)类型案例一案例二 拓展:不可变类型真的不可变…...
QLabel的四种内容呈现模式
1. QLabel的多面手特性:不只是显示文字 第一次接触Qt开发时,很多人会把QLabel简单理解为一个"文字标签控件"。直到我在实际项目中需要显示动态图表时,才发现这个看似简单的控件竟然藏着这么多玩法。QLabel本质上是一个多功能显示容…...
Nunchaku FLUX.1 CustomV3快速部署:支持CUDA 12.4+PyTorch 2.3的开箱即用镜像
Nunchaku FLUX.1 CustomV3快速部署:支持CUDA 12.4PyTorch 2.3的开箱即用镜像 1. 开篇介绍:为什么选择这个镜像? 如果你正在寻找一个能够快速生成高质量图片的AI工具,但又不想折腾复杂的环境配置,那么Nunchaku FLUX.1…...
如何防止SQL脏数据写入_利用触发器实现强一致性校验
必须用 BEFORE INSERT OR UPDATE。它在数据落盘前执行,可通过 RAISE EXCEPTION 或 SIGNAL 中断事务,确保脏数据不写入;AFTER INSERT 已无法回滚,强一致性被破坏。触发器里用 AFTER INSERT 还是 BEFORE INSERT?BEFORE I…...
告别玄学调试:用J-Flash给STM32芯片“洗个澡”,解决RT-Thread Studio下载疑难杂症
嵌入式开发实战:用J-Flash彻底解决STM32下载异常问题 当你满怀期待地点击"下载"按钮,RT-Thread Studio却无情地显示"执行完毕"而板子毫无反应时,那种挫败感每个嵌入式开发者都深有体会。更令人抓狂的是,编译器…...
Linux网络模拟实战:用NetEm和TC命令打造你的专属弱网环境(附常见问题排查)
Linux网络模拟实战:用NetEm和TC命令打造你的专属弱网环境 在分布式系统开发与测试中,网络环境的不稳定性往往是隐藏最深的"性能杀手"。想象一下,当你的应用在本地开发环境运行流畅,一旦部署到真实网络环境中࿰…...
别再被TI官方原理图坑了!TPS65130/31关闭省电模式(PSP/PSN)的实战避坑指南
TPS65130/31设计实战:关闭省电模式的工程决策与热管理优化 当光电检测设备遭遇运放阵列供电异常时,示波器上跳动的纹波曲线往往暗示着更深层的电源架构问题。在最近一个医疗内窥镜成像模块的开发中,我们的团队遇到了与TI的TPS6513x系列芯片相…...
HTMX 4.0 发布:革新 Web 开发,性能与体验双提升!
更简单的 Web 开发HTMX 长期以来被认为功能已趋于完备,是成功达成宏伟目标且广受赞誉、在生产环境广泛部署的项目。HTMX 2.0 曾被视为最终版本,其创造者承诺不会有 HTMX 3.0。但 HTMX 团队摒弃旧引擎,采用基于 JavaScript 的 Fetch API 的新引…...
CSS如何用Less实现多维度的样式复用_结合混合与继承技术实现
真正复用Less混合需参数化条件分支作用域隔离:带默认参数的混合(如.btn-style(color: #007bff))、when条件判断、显式传参避免外部变量污染;extend用于静态语义归类,mixin用于动态样式生成;&表示当前层…...
深入解析Pintos优先级捐赠机制:从理论到实践
1. 优先级反转问题与捐赠机制 我第一次在Pintos里遇到优先级反转问题时,系统直接卡死了——高优先级线程H等着低优先级线程L释放锁,但L根本抢不到CPU。这种场景就像救护车被堵在卡车后面,而卡车司机正在等红灯。操作系统课程里把这个现象称为…...
SRC挖洞必备工具|OneScan二开升级,bypass防重放递归目录扫描+指纹识别Burp插件
0x01 工具介绍 OneScan二开升级之作——OneScan_Expand Burp插件,基于原版OneScan核心能力迭代优化,实现Burp内一站式集成浏览器、bypass放重放、递归目录扫描与指纹识别四大核心功能。针对实战中工具割裂、前端防护难突破、目录扫描不深入等痛点&#…...
