0
我一直在嘗試使用Microsoft SQL Server 2008 R2進行查詢,按間隔對點的總數進行分組。但是,我不能讓這個工作。這是我的代碼:對Group By子句使用case語句
SELECT interval_total, COUNT(*) FROM(
SELECT clients.clientId, total.TotalPoints,
CASE
WHEN TotalPuntos >=5000 THEN 5000
WHEN TotalPuntos >= 1000 THEN 1000
WHEN TotalPuntos >= 500 THEN 500
WHEN TotalPuntos >= 100 THEN 100
ELSE 0
END as interval_total
FROM
[TotalSumOfPoints] total,
[Client] clients
WHERE total.clientId = clients.clientId
AND clients.cardId LIKE '2001%')
GROUP BY interval_total
有了這個錯誤:
Msg 156, Level 15, State 1, Line 17
Incorrect syntax near the keyword 'GROUP'.
我一直在讀不同的職位,並已得出結論,那就是可以做這樣的查詢,通過將子查詢中的CASE語句(我得出這個結論,閱讀this後)。顯然我做錯了什麼。任何幫助?
我想你也應該clients'後'刪除逗號。 –
是的!試圖簡化查詢將它發佈在這裏,我忘了刪除冒號。非常感謝你!這個簡單的細節使其工作。謝謝! – Soph
爲什麼不改進舊式隱式連接以使用適當的INNER JOIN語法? –