![]() |
1
11
未经测试,但应有效:
|
![]() |
2
4
这里有一个有效的方法——我不知道它是否更有效,它是SQLServer2005+
显然,第一个“with”是设置值,因此您可以使用测试第二个,并最终选择工作-如果您正在查询现有表,则可以从“with results as…”开始。 |
![]() |
3
1
不确定“带领带”是否适用于SQL Server上的其他任何东西。 在SQL Server 2005及更高版本上,可以将“top”数字作为int参数传递:
|
![]() |
4
1
实际上,对WHERE-IN进行修改,利用内部联接会快得多。
|
![]() |
5
0
像这样的方法应该会奏效:
|
![]() |
6
0
@罗布#37760:
如果N为3,此查询将仅选择3行,请参见问题。“Top3”应返回5行。 |
![]() |
7
0
@Espo感谢您的现实检查-添加了子选择以更正此问题。 我认为最简单的回答是:
如果要将其放入以N为参数的存储过程中,则必须将SQL读入变量,然后执行它,或者执行行计数技巧:
这两个示例都假定为SQL Server,但尚未进行测试。 |
![]() |
8
0
@马特·汉密尔顿
|
![]() |
9
0
Crucible得到了它(假设SQL2005是一个选项)。 |
![]() |
10
0
嘿,我发现所有其他答案都有点长而且效率低 我的答案是:
|
![]() |
11
0
试试这个
|
|
Johnny T · 基于当前值的SQL合并表[重复] 4 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 4 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 4 月前 |
![]() |
Sax · 规范化Google表格(第一步) 4 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 4 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 5 月前 |