首页 > 数据库 >MySQL 分组取最新的一条

MySQL 分组取最新的一条

时间:2023-09-13 11:07:35浏览次数:48  
标签:deptid cust utf8 dept 最新 分组 MySQL test where


1.MySQL 分组取最新的一条

2.MySQL not in not exists 

CREATE TABLE `test_dept`  (
  `deptid` int(11) NOT NULL,
  `deptname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  PRIMARY KEY (`deptid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


INSERT INTO `test_dept` VALUES (180001, '总公司');
INSERT INTO `test_dept` VALUES (180002, '运维部');
INSERT INTO `test_dept` VALUES (180003, '开发部');



CREATE TABLE `test_cust`  (
  `custid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '0' COMMENT '客户编号',
  `cname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '客户名称',
  `deptid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '所属部门',
  `updatetime` datetime(0) DEFAULT NULL COMMENT '最后修改时间'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `test_cust` VALUES ('10001', '张三', '180003', '2020-02-01 13:50:42');
INSERT INTO `test_cust` VALUES ('10001', '张三', '180003', '2020-03-24 13:50:48');
INSERT INTO `test_cust` VALUES ('10002', '李四', '666', '2020-03-10 14:02:29');



####分组后取最后修改的那一条
select * from test_cust tc
where not exists(select 1  from test_cust where custid=tc.custid and updatetime>tc.updatetime)
GROUP BY custid;


####in 和 exits 和分组后取最后修改的那一条
select * from test_cust 
	where test_cust.deptid not in (select deptid from test_dept where test_dept.deptid=test_cust.deptid);
select * from test_cust 
	where test_cust.deptid in (select deptid from test_dept where test_dept.deptid=test_cust.deptid);

select * from test_cust 
	where exists  (select deptid from test_dept where test_dept.deptid=test_cust.deptid);
select * from test_cust 
where not exists  (select deptid from test_dept where test_dept.deptid=test_cust.deptid);

 

标签:deptid,cust,utf8,dept,最新,分组,MySQL,test,where
From: https://blog.51cto.com/ratelcloud/7452499

相关文章

  • MySQL 8.0安装 Windows
    方案概述本方案提供winserver下mysql两种安装方式:图像化安装:MySQLInstallerMSIZIPArchive压缩包(命令行)方式实施步骤1.图像化安装:MySQLInstallerMSI官方下载地址:https://dev.mysql.com/downloads/这里建议选择:community版本通过离线方式安装,web-community版本需要链接网络下载......
  • MySql教程(--)mysql系统常用命令集
    --mysql连接1.连接到本机上的MYSQL 命令:mysql-u[username]-p mysql-uroot-p,回车后提示你输密码。2.连接到远程主机上的MYSQLhost:远程主机地址username:用户名password:密码 命令:mysql-h[host]-u[username]-p[password] mysql-h192.168.10.153-uroot......
  • RocketMQ教程-(4)-领域模型-消费者分组ConsumerGroup
    定义消费者分组是ApacheRocketMQ系统中承载多个消费行为一致的消费者的负载均衡分组。和消费者不同,消费者分组并不是运行实体,而是一个逻辑资源。在ApacheRocketMQ中,通过消费者分组内初始化多个消费者实现消费性能的水平扩展以及高可用容灾。在消费者分组中,统一定义以下消费行......
  • nacos redis mysql 服务启动脚本
    nacos#cat/etc/systemd/system/nacos.service[Unit]Description=nacosAfter=network.target[Service]Type=forkingExecStart=/usr/local/src/nacos/bin/startup.shExecStop=/usr/local/src/nacos/bin/shutdown.shPrivateTmp=true[Install]WantedBy=multi-user.......
  • 【Docker】# MySQL从安装到备份还原
    Writer:夏明亮Date:2022/03/28Docker安装略MySQL安装部署https://hub.docker.com/_/mysql/#:~:text=Run%20docker%20stack%20deploy%20-c%20stack.yml%20mysql%20%28or,you%20to%20run%20commands%20inside%20a%20Docker%20container.搜索合适的镜像[root@docker-master~]#dockers......
  • 高性能MySQL实战(三):性能优化 | 京东物流技术团队
    这篇主要介绍对慢SQL优化的一些手段,而在讲解具体的优化措施之前,我想先对EXPLAIN进行介绍,它是我们在分析查询时必要的操作,理解了它输出结果的内容更有利于我们优化SQL。为了方便大家的阅读,在下文中规定类似key1的表示二级索引,key_part1表示联合索引的第一部分,unique_key1......
  • MySQL SQL语法大全
    SQL语法基础知识总结|JavaGuide(Java面试+学习指南)基本概念数据库术语数据库(database)-保存有组织的数据的容器(通常是一个文件或一组文件)。数据表(table)-某种特定类型数据的结构化清单。模式(schema)-关于数据库和表的布局及特性的信息。模式定义了数据在表中如何存储......
  • 最新修复塔罗牌占卜星座运势在线事业爱情塔罗测试源码
    源码介绍:运势测算星座塔罗牌这类源码一直都热度不减,这版非常轻量化,上传解压,填入数据库信息即可用,失效的接口也都已经一一修复。数据库信息全部都已经预设完毕,无需手动分类添加星座词等等。运营成品,搭建即用。图文文档教程手把手教你搭建。支付对接Z支付。PS:这个是最新的修复版,据说......
  • 通过SQL Server操作MySQL(下)—— 操作MySQL
    查询MySQL语句select*fromopenquery(TestMySQL,'select*fromtest.TestTable');向MySQL表中插入数据insertintoopenquery(TestMySQL,'select*fromtest.TestTable')select1,'TestName';删除MySQL表中的数据deletefromopenquery(TestMyS......
  • 【SQL Server】通过SQL Server操作MySQL(上)——连接MySQL服务器
    http://t.zoukankan.com/xd502djj-p-3104191.html 在多种数据库环境下,经常会遇见不同数据库之间转换数据或进行互相操作的情况。以下简要介绍下用SQLServer操作MySQL的步骤和方法。安装MySQL驱动想要在SQLServer中操作MySQL,首先要在SQLServer所在的服务器上安装MySQL的驱......