如何获取表字段限制的结果?

问题描述 投票:0回答:1
SELECT 
    id,
    status,
    id_sock
FROM
    noticias
JOIN 
    sock ON sock.id = noticias.id_sock 
WHERE 
    (noticias.data > 1706486100 OR noticias.data IS NULL)

如何将结果限制为每个

id_sock
5 行?

如果

id_sock
表中有 10 个
sock
,则会产生 50 行...

解决办法是什么?

sql limit
1个回答
0
投票
;WITH MyTempResult AS (
                      SELECT 
                         id,
                         status,
                         id_sock
                         ROW_NUMBER() OVER (PARTITION BY id_sock ORDER BY id) row_num
                       FROM noticias
                       JOIN sock ON sock.id = noticias.id_sock 
                       WHERE (noticias.data > 1706486100 OR noticias.data IS NULL)
  SELECT 
    id,
    status,
    id_sock
  from MyTempResult
  where row_num between 1 and 5
© www.soinside.com 2019 - 2024. All rights reserved.