gpt4 book ai didi

数据库 |如何只选择每个类别的一条记录?

转载 作者:行者123 更新时间:2023-11-29 01:06:55 25 4
gpt4 key购买 nike

我有一个包含数据记录的表,每条记录都属于一个类别。假设我有以下表格:

ID | Category | Title    | Date
--------------------------------------
1 | Cat 1 | Ttl 1 | 2013-02-18
2 | Cat 2 | Ttl 2 | 2013-02-18
3 | Cat 1 | Ttl 3 | 2013-02-20

我喜欢做的是,每个类别只获取一篇文章,而且我要获取的文章必须是表中最新的一篇。

更深入一点,结果一定是这样的:

ID | Category | Title    | Date
--------------------------------------
2 | Cat 2 | Ttl 2 | 2013-02-18
3 | Cat 1 | Ttl 3 | 2013-02-20

如您所见,每个类别我只有一个记录(一个用于类别 1,一个用于类别 2),并且在类别 1 的记录中我有最新的。

如何在 MySQL 查询中翻译它?

最佳答案

SELECT  a.*
FROM tableName a
INNER JOIN
(
SELECT Category, MAX(date) max_date
FROM tableName
GROUP BY Category
) b ON a.category = b.category AND
a.date = b.max_date

为了获得更好的性能,在 Category, date 列上添加一个化合物 INDEX

SELECT  a.*
FROM tableName a
INNER JOIN
(
SELECT Category, MAX(ID) max_ID
FROM tableName
GROUP BY Category
) b ON a.category = b.category AND
a.ID = b.max_ID

关于数据库 |如何只选择每个类别的一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15028852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com