通过连接不同的表,我有很多行。我想编写一个查询,当且仅当行数大于特定数字(如 5)时,它返回当前行,否则不返回任何内容。我知道我可以务实地做到这一点,但是有什么办法可以在 sql server 中作为查询来做到这一点。
编辑:我选择了@prdp 建议的方式。使用 row_number 创建了一个公用表表达式,并选择所有 rowId 大于 5 的表。
最佳答案
试试这个
WITH cte
AS (SELECT *,
Row_number()
OVER (
ORDER BY id) AS rowid
FROM <tablename>)
SELECT *
FROM cte
WHERE EXISTS(SELECT 1
FROM cte
WHERE rowid >= 5)
关于sql - 如果元组出现超过预定义的数量(如 5),则返回 sql 查询结果中的元组。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26396716/