gpt4 book ai didi

sql - MySQL 查询 : Select most-recent items with a twist

转载 作者:可可西里 更新时间:2023-11-01 07:55:24 25 4
gpt4 key购买 nike

抱歉,标题没有更多帮助。我有一个来自两个来源的媒体文件 URL 数据库:

(1) RSS 提要和 (2) 手动输入。

我想查找最近添加的 10 个 URL,但最多只能从任何 Feed 中查找一个。为简化起见,表“urls”包含列“url, feed_id, timestamp”

feed_id='' 用于任何手动输入的 URL。

我将如何编写查询?请记住,我想要十个最近的 url,但只有一个来自任何单个 feed_id

最佳答案

假设 feed_id = 0 是手动输入的东西,这样就可以了:

select p.* from programs p
left join
(
select max(id) id1 from programs
where feed_id <> 0
group by feed_id
order by max(id) desc
limit 10
) t on id1 = id
where id1 is not null or feed_id = 0
order by id desc
limit 10;

它的工作原理是因为 id 列在不断增加,而且速度也非常快。 t 是表别名。

这是我原来的回答:

(
select
feed_id, url, dt
from feeds
where feed_id = ''
order by dt desc
limit 10
)
union
(

select feed_id, min(url), max(dt)
from feeds
where feed_id <> ''
group by feed_id
order by dt desc
limit 10
)
order by dt desc
limit 10

关于sql - MySQL 查询 : Select most-recent items with a twist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/118487/

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