有没有更好的方法来执行这样的查询:
SELECT COUNT(*)
FROM (SELECT DISTINCT DocumentId, DocumentSessionId
FROM DocumentOutputItems) AS internalQuery
Run Code Online (Sandbox Code Playgroud)
我需要计算此表中不同项目的数量,但不同的是超过两列.
我的查询工作正常,但我想知道我是否只使用一个查询得到最终结果(不使用子查询)
我需要计算表格两行之间的列的差异.有什么方法可以直接在SQL中执行此操作吗?我正在使用Microsoft SQL Server 2008.
我正在寻找这样的东西:
SELECT value - (previous.value) FROM table
Run Code Online (Sandbox Code Playgroud)
想象一下"previous"变量引用了最新选择的行.当然,对于类似的选择,我最终将在具有n行的表中选择n-1行,这不是可能的,实际上正是我需要的.
这有可能吗?
我有这样一张桌子:
ID Seq Amt
1 1 500
1 2 500
1 3 500
1 5 500
2 10 600
2 11 600
3 1 700
3 3 700
Run Code Online (Sandbox Code Playgroud)
我想将连续序列号分组为一行,如下所示:
ID Start End TotalAmt
1 1 3 1500
1 5 5 500
2 10 11 1200
3 1 1 700
3 3 3 700
Run Code Online (Sandbox Code Playgroud)
请帮助实现这一结果.