3
A
回答
5
select
case when col1 in ('a','b') then col1 else 'other' end,
count(*)
from tab
group by case when col1 in ('a','b') then col1 else 'other' end
+0
謝謝!這是我正在尋找的 – chibis
0
SELECT col1, COUNT(col1)
FROM mytable
WHERE col1 IN ('A', 'B')
GROUP BY col1
UNION
SELECT col1, COUNT(col1)
FROM mytable
WHERE col1 IS NULL OR col1 NOT IN ('A','B')
GROUP BY col1
ORDER BY col1
0
SELECT CASE col1
WHEN a then 'nameofnewcolumn'
WHEN b then 'nameofnewcolumn'
ELSE 'other'
END
FROM TABLE
這應該組中的所有值列或不適合的另一組的其他組的一切。
0
試試這個:
SELECT ColumnName, COUNT(ColumnName)
FROM NyTable
GROUP BY ColumnName
6
重複的CASE
表達的作品,但我覺得它不那麼乏味只有一次執行表達。計劃是相同的。
;WITH x AS
(
SELECT Name = CASE WHEN Name IN ('A','B') THEN Name
ELSE 'Other' END
FROM dbo.YourTable
)
SELECT Name, COUNT(*) FROM x
GROUP BY Name;
如果排序是非常重要的(如Other
應該在結果中的最後一行,即使其他的名字來後,按字母順序),那麼你可以說:
ORDER BY CASE WHEN Name = 'Other' THEN 1 ELSE 0 END, Name;
1
SELECT res.col1, COUNT(*)
FROM
(SELECT
(CASE col1 WHEN 'A' THEN 'A'
WHEN 'B' THEN 'B'
ELSE 'other'
END) as col1
FROM table) as res
GROUP BY col1
0
如果'other'應該是最後一行,'A','B'實際上可以是任意的(例如'李子','zillion'),可以使用以下內容:
;with cte as (
select
col1 = case when t.col1 in ('A', 'B') then t.Col1 else 'other' end,
ordnum = case when t.col1 in ('A', 'B') then 0 else 1 end
from TableName
)
select col1, count(1)
from cte
group by col1
order by ordnum, col1
相關問題
- 1. 的XQuery節點值與組結合通過邏輯
- 2. 組合產品通過sql
- 3. SQL Datediff與組通過
- 4. 通過組合組的SQL連接行
- 5. 通過結合
- 6. 如何通過comon值組合數組?
- 7. SQL - 組合一個值的結果(行)
- 8. SQL組通過 - 可以合併?
- 9. 通過組合數據查詢Sql group
- 10. 與SELECT語句結合插入SQL statment超過1個值
- 11. 結合PHP數組,與匹配值
- 12. 總計鮮明的組合共享一個值通過SQL
- 13. 如何通過表中迭代並結合它與值從SP
- 14. SQL結果通過
- 15. 通過記錄和更新列MS SQL環與聚合值
- 16. 通過值數組的鍵組合鍵和值數組
- 17. 進口ForeignKey的值通過組合框
- 18. 通過鍵/值合併數組對象
- 19. 通過組合框
- 20. 通過組合框
- 21. 如何通過組與SQL子查詢
- 22. SQL案例聲明IN與組通過
- 23. 錯誤SQL 979與組通過
- 24. 標題與PHP foreach和sql組通過
- 25. sql select語句與組通過
- 26. SQL顯示空值組通過
- 27. SQL服務器:組通過與相應的行值
- 28. SQL命令用來顯示分組,通過與特定的值
- 29. SQL查詢「組通過與立方」和NULL值
- 30. 通過結合組合框的值和串行計數創建字符串
你給了什麼試試嗎?你嘗試了什麼?結果是什麼? – BWS