[sql] b表根据a表取a表id 对应的前3条

如图表结构结果求大神
2025-02-22 09:44:52
推荐回答(2个)
回答1:

真心看不懂你想表达什么, 你是想取a表的数据还是b的数据, 还有a表和b的关系.
如果你是想b表外接上a表,然后取这个数据集的前3条,那么sql如下(Oracle的写法):
select * from
(
select rownum as num, a.* from a, b where a = b(+)
)where num <= 3;

mySql:
select * from(
select * from a left join b on a.id = b.id
)limit 0,3;

回答2:

--SQL SERVER 的吗
select id,aid,value,time
from 
(
select id,aid,value,time,
    ronw_number() over(partition by aid order by time desc) as sort
from b
) tb
where sort<4