sql - 从 MySQL 表中检索和输入所有 "type",但仅检索每个 "type"的最新条目

标签 sql mysql

基本上,如果我有一个包含列的 mysql 表:id、type、content、version。

将有多个相同类型的条目。版本是一个数字,随着特定类型的每个新条目而递增。

我希望能够通过一次查询获取所有类型的每种类型的最新条目。

这是可能的还是我需要对每种类型进行单独的查询?

干杯

最佳答案

SELECT  mi.*
FROM    (
        SELECT  DISTINCT type
        FROM    mytable
        ) md
JOIN    mytable mi
ON      mi.id = 
        (
        SELECT  mo.id
        FROM    mytable mo
        WHERE   mo.type = md.type
        ORDER BY
                mo.type DESC, mo.version DESC, mo.id DESC
        LIMIT 1
        )

(type, version, id) 上创建索引以使其快速运行。

关于sql - 从 MySQL 表中检索和输入所有 "type",但仅检索每个 "type"的最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2517930/

相关文章:

mysql - wp 插入后无限循环

sql - PostgreSQL - 避免两次列出相同的 IN() 值

mysql - 如何进行查询以返回按天分组的行数?

sql - 捕获连接表达式中的所有记录

mysql - 多个最大结果

java - 出于想法,MySQLNonTransientConnectionException : Could not create connection to database server

php - 无法将包含撇号的数据保存到 MySQL 数据库

php - 数据库移动后 SQL 错误

mysql - 如何从两个以上的表中收集数据并将结果放入新表中

SQL 查询 : inner joins optimization between big tables