我有这张桌子:
id
feed_id
...
Run Code Online (Sandbox Code Playgroud)
假设我有 500 行,我想为每个 feed_id 选择 3 个条目?和 50 作为总限制。
这个SQL怎么写?
使用:
SELECT x.feedid
FROM (SELECT t.feedid,
CASE WHEN @feed != t.feedid THEN @rownum := 1 ELSE @rownum := @rownum + 1 END AS rank,
@feed := t.feedid
FROM TABLE t
JOIN (SELECT @rownum := NULL, @feed := 0) r
ORDER BY t.feedid) x
WHERE x.rank <= 3
ORDER BY x.feedid
LIMIT 50
Run Code Online (Sandbox Code Playgroud)
不清楚的是您想要返回的详细信息 - 表中的所有行,或只是 feedid。
归档时间: |
|
查看次数: |
809 次 |
最近记录: |