gpt4 book ai didi

mysql - 如何按创建时间顺序选择性地显示两个表中的记录

转载 作者:搜寻专家 更新时间:2023-10-30 22:00:57 26 4
gpt4 key购买 nike

假设我们有两个包含 id 和 timestamp 列的表。我们如何按照时间戳的顺序有选择地显示两个表中前 10 条记录的 id。

例如,首先我们在表 1 中创建了一条记录,然后我们在表 2 中创建了一条记录,然后我们在表 1 中创建了一条记录,然后我们在表 2 中创建了一条记录......等等。

最佳答案

根据您的 RDBMS,您可以使用 ROWNUM、LIMIT,或使用 Row_Number() OVER (ORDER BY datefield DESC) 创建您自己的 Row_Number。

这可能有效(对于 Oracle)。

select *
from
( select id, datefield from Table1
union select id, datefield From Table2 order by datefield desc ) t
where ROWNUM <= 10;

对于 MySQL:

select *
from
( select id, datefield from table
union select id, datefield from table2 ) t
order by datefield desc
limit 10;

对于 SQL Server:

select * 
from
(
select *, Row_Number() OVER (ORDER BY datefield DESC) as rown
from
( select id, datefield from table
union select id, datefield from table2 ) t
) t2
where rown <= 10

祝你好运。

关于mysql - 如何按创建时间顺序选择性地显示两个表中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14461290/

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