gpt4 book ai didi

sql-server - 如何使用 TOP 检索查询的总行数

转载 作者:行者123 更新时间:2023-12-03 06:42:10 25 4
gpt4 key购买 nike

我有一个 SQL Server 2008 查询

SELECT TOP 10 *
FROM T
WHERE ...
ORDER BY ...

我还想获取总行数。显而易见的方法是进行第二次查询

SELECT COUNT(*)
FROM T
WHERE ...
ORDER BY ...

有没有有效的方法?

谢谢

最佳答案

您想要第二次查询吗?

SELECT TOP 10
*, foo.bar
FROM
T
CROSS JOIN
(SELECT COUNT(*) AS bar FROM T WHERE ...) foo
WHERE
...
ORDER BY
...

或者

DECLARE @bar int
SELECT @bar = COUNT(*) AS bar FROM T WHERE ...
SELECT TOP 10
*, @bar
FROM
T
CROSS JOIN
(SELECT COUNT(*) AS bar FROM T WHERE ...) foo
WHERE
...
ORDER BY
...

或者(编辑:使用WITH)

WITH cTotal AS
(
SELECT COUNT(*) AS bar FROM T WHERE ...)
)
SELECT TOP 10
*, cTotal .bar
FROM
T
WHERE
...
ORDER BY
...

关于sql-server - 如何使用 TOP 检索查询的总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/610932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com