mysql分组区某列最后一条_[MySQL]MySQL数据库如何按某列分组排序后查询每个分组的最后一条数据?...

比如当前有如下的消息表(messages)及示例数据:

Id Name Other_Columns

-------------------------

1 A A_data_1

2 A A_data_2

3 A A_data_3

4 B B_data_1

5 B B_data_2

6 C C_data_1

按照以下SQL语句查询:

select * from messages group by name

得到的查询结果为:

1 A A_data_1

4 B B_data_1

6 C C_data_1

如何使用SQL语句查询每个分组的最后一条数据,如:

3 A A_data_3

5 B B_data_2

6 C C_data_1

方案一SELECT m1.*

FROM messages m1 LEFT JOIN messages m2

ON (m1.name = m2.name AND m1.id < m2.id)

WHERE m2.id IS NULL;

如果中MySQL 8.0中,可以使用 WITH 的语法(WITH语法文档),具体实现SQL语句如下:

WITH ranked_messages AS (

SELECT m.*, ROW_NUMBER() OVER (PARTITION BY name ORDER BY id DESC) AS rn

FROM messages AS m

)

SELECT * FROM ranked_messages WHERE rn = 1;

方案二

使用子查询

select

a.*

from

messages a

inner join

(select name, max(id) as maxid from messages group by name) as b on

a.id = b.maxid

如果不是以 id 列排序的,则指定其他列即可,如:

select

a.*

from

messages a

inner join

(select name, max(other_col) as other_col

from messages group by name) as b on

a.name = b.name

and a.other_col = b.other_col

方案三SELECT

Id, Name, OtherColumns

FROM messages

WHERE NOT EXISTS (

SELECT * FROM messages as M2

WHERE M2.Name = messages.Name

AND M2.Id > messages.Id

)

方案四SELECT jos_categories.title AS name,

joined .catid,

joined .title,

joined .introtext

FROM jos_categories

INNER JOIN (SELECT *

FROM (SELECT `title`,

catid,

`created`,

introtext

FROM `jos_content`

WHERE `sectionid` = 6

ORDER BY `id` DESC) AS yes

GROUP BY `yes`.`catid` DESC

ORDER BY `yes`.`created` DESC) AS joined

ON( joined.catid = jos_categories.id )

方案五SELECT

`Id`,

`Name`,

SUBSTRING_INDEX(

GROUP_CONCAT(

`Other_Columns`

ORDER BY `Id` DESC

SEPARATOR '||'

),

'||',

1

) Other_Columns

FROM

messages

GROUP BY `Name`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌浏览器下载的内容老是自动打开

原因是每次下载内容在浏览器左下角都有提示&#xff0c;一般都是选择打开所在文件夹&#xff0c;一次手残&#xff0c;点了总是打开此文件导致一下载文件就自动打开。 解决方法。 1.点击右上角的... 2.找到设置-高级设置-下载 3.关掉我标红的位置信息即可。现在看不到啦&…

JBoss Fuse 6.2发布–指导如何快速尝试

在上周的红帽峰会上&#xff0c;宣布发布了JBoss Fuse 6.2 。 我要祝贺保险丝团队发布此版本。 我知道他们今年以来一直非常努力地进行质量检查&#xff0c;并确保质量检查通过了企业产品所期望的高品质壁垒。 因此&#xff0c;带着我的Camel帽子&#xff0c;很高兴看到包含最…

插入文件找不到桌面了?

解决方法&#xff0c;在那个界面空白处&#xff0c;右键显示所有文件即可。

mysql自增长主键_MySQL数据库8(九)列属性之主键、自增长

主键顾名思义&#xff0c;主要的键&#xff0c;primary key&#xff0c;在一张表中&#xff0c;有且只有一个字段&#xff0c;里面的值具有唯一性创建主键随表创建系统提供了两种增加主键的方式&#xff1a;1、直接在需要当做主键的字段之后&#xff0c;增加primary key属性来确…

微信小程序速成页面

你是否还在辛辛苦苦地码代码&#xff0c;特别是前端页面的编写&#xff0c;很多都是非常简单的&#xff0c;但界面多了还是要花费大量的时间&#xff0c;缩短了你陪男/女朋友的时间&#xff0c;家人的时间&#xff0c;休闲的时光。 微信小程序前端开发者工具将大大地为您节省开…

Ajax 生成流文件下载 以及复选框的实现

JQuery的ajax函数的返回类型只有xml、text、json、html等类型&#xff0c;没有“流”类型&#xff0c;所以我们要实现ajax下载&#xff0c;不能够使用相应的ajax函数进行文件下载。但可以用js生成一个form&#xff0c;用这个form提交参数&#xff0c;并返回“流”类型的数据。在…

mysql1130_解决远程连接mysql错误1130的方法

解决远程连接mysql错误1130代码的方法今天在用远程连接Mysql服务器的数据库&#xff0c;不管怎么弄都是连接不到&#xff0c;错误代码是1130&#xff0c;ERROR 1130: Host 192.168.2.159 is not allowed to connect to this MySQL server猜想是无法给远程连接的用户权限问题。结…

使用Classycle验证类/包依赖关系

Classycle是一个非常好的类和包依赖项的分析器和依赖项检查器。 它使您可以定义程序包组&#xff08;组件&#xff0c;层&#xff09;&#xff0c;并表达不需要的依赖性&#xff0c;例如周期或特定程序包之间的依赖性。 例如&#xff0c;您可以指定不希望包周期&#xff0c;也…

初学者如何学编程呢

先简单做个测试,这样就能找出你比较适合哪种语言。 下面简单介绍一下不同的语言吧

CellSet 遍历

CellSet 结构&#xff1a; 查询MDX&#xff1a; SELECT NON EMPTY {{ {{ {{ {{ {{ AddCalculatedMembers([店铺.店铺ID].[店铺ID].Members)}} }} }} }} }} DIMENSION PROPERTIES MEMBER_TYPE , [店铺.店铺ID].[店铺ID].[国家], [店铺.店铺ID].[店铺ID].[区域], [店铺.…

查看mysql字段的编码_MySQL查看和修改字符编码的实现方法

MySQL查看和修改字符编码的实现方法遇到一个插入数据库的乱码&#xff0c;因为是&#xff1a;mac版本的&#xff0c;按网上说的就是不能改变&#xff0c;其编码方式&#xff0c;本人的机器&#xff1a;mysql-***.dmg默认安装后的编码是&#xff1a;如下图&#xff1a;有两个编码…

如何找到微信公众号的视频链接及视频?

我们经常在微信公众号中看到一些视频,那么有时候看到比较好的我们都希望能把这个视频下载下来,长久保存! 那么,如何找到视频的原链接并下载成为自己的视频呢?我给大家简单总结一下吧。 首先要明白微信公众号的视频来源只会出现在腾讯视频和微视两个平台。 ​以这个公众号…

对交换机VLAN及各种端口类型的理解

每学习一种技术时&#xff0c;我们往往需要去了解why&#xff0c;即这个技术是为解决什么问题而出现的。 VLAN全称为Virtual Local Area Network&#xff0c;即虚拟局域网&#xff0c;是逻辑上的一种划分。一般来说&#xff0c;如果交换机没有进行过配置&#xff0c;所有端口都…

mysql pdb文件怎么打开_如何利用.pdb文件去调试

问题需求&#xff1a;1.需要去调试一个exe&#xff0c;查看内部执行的过程&#xff0c;但是该exe的源代码是孤立的&#xff0c;利用make文件组织进行编译.每天会给出编译包。问题的分析&#xff1a;考虑1. 新建一个VS的工程&#xff0c;然后手动添加这些文件&#xff0c;然后编…

GetWeApp聊天室 代码(微信小程序)

说明: 实现聊天功能,特色: 使用webSocket实现即时通信 发送和显示表情 数据接口: 数据接口 目录结构&#

每个Java开发人员都必须避免的9个安全错误

Checkmarx CxSAST是功能强大的源代码分析&#xff08;SCA&#xff09;解决方案&#xff0c;旨在从根本上识别&#xff0c;跟踪和修复技术和逻辑安全缺陷&#xff1a;源代码。 在这里查看 &#xff01; 自从1995年中期引入Java以来​​&#xff0c;它已经走了很长一段路。 它的…

[转]iPhone本地化总结

再做本地化的过程中参考了许多资料&#xff0c;现在的中文资料还是少之又少&#xff0c;希望能给大家一些帮助。 1、本地化字符串&#xff0c;网上那些方法我就不说了&#xff0c;我只更正一点&#xff1a;如果你的Classes下面有子文件夹会报错&#xff0c;使用下面的命令&…

mysql 字符集测试_MySQL多字符集备份恢复测试

目的&#xff1a;测试单mysql实例在多字符集的数据库环境中备份恢复的乱码问题准备工作&#xff1a;CREATE DATABASE utf8_db /*!40100 DEFAULT CHARACTER SET utf8 */;CREATE DATABASE latin_db /*!40100 DEFAULT CHARACTER SET latin1*/;CREATE TABLE utf8_db.utab ( id int…

2019年12月份最热门 Github 开源项目整理

12306 :12306 Star 25912 这个项目基本上是紧随着 12306 网站的功能更新而更新的,支持 12306 的所有基本功能。 ​ architect-awesome:网址 Star 41507 一套非常全面的后端架构师技术图谱,从数据结构与算法着手,带你学习后端技术的方方面面。 ​ chinese-poetry:网…

zoj 3640 概率dp

题意&#xff1a;一只吸血鬼&#xff0c;有n条路给他走&#xff0c;每次他随机走一条路&#xff0c;每条路有个限制&#xff0c;如果当时这个吸血鬼的攻击力大于等于某个值&#xff0c;那么就会花费t天逃出去&#xff0c;否则&#xff0c;花费1天的时间&#xff0c;并且攻击力增…