我有一组数据,看起来像下面T-SQL递归
Name Time Perc Group Mode Control Cancelled
A 10:52 10.10 10 0 1 0
B 09:00 10.23 10 1 1 1
C 12:02 12.01 12 0 1 1
D 10:45 12.12 12 1 7 1
E 12:54 12.56 12 1 3 0
F 01:01 13.90 13 0 11 1
G 02:45 13.23 13 1 12 1
H 09:10 13.21 13 1 1 0
我需要象下面的输出;
Group Perc Cancelled
10 20.33 1
12 36.69 2
13 40.34 2
我得到的是类似的东西;
Group Perc Cancelled
10 20.33 5
12 36.69 5
13 40.34 5
我不知道什么叫这个,我在我的脑海东西,这样称呼它CTE?,但我真的无法弄清楚。
这是我的资料来源;
SELECT Group, SUM(Perc), Cancelled FROM
(SELECT Group, Perc, (SELECT COUNT(*) FROM tblName WHERE Cancelled=1) AS Cancelled FROM tblName WHERE 1=1 AND Group>=10)dt
GROUP BY Group, Cancelled
您是否在实际代码中使用关键字作为列名称?我看到“SELECT Group”并且感到困惑。 “GROUP BY Group”令人眼花缭乱。 – Zec
刚才,我做的是我创建了一个#temp表,然后选择所有的数据,然后左加入#temp表..它确实解决了这个问题,但我觉得它有点蹩脚.. –