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 行...
解决办法是什么?
;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