[英]Counting the rows of multiple distinct columns
我正在嘗試計算Sybase ISQL 9數據庫中列“ a”和“ b”中具有不同值的行數。
我的意思是,以下數據集將產生答案“ 4”:
a b1 9 2 9 3 8 3 7 2 9 3 7
類似於以下語法的東西會很好:
SELECT COUNT(DISTINCT a, b) FROM MyTable
但這是行不通的。
我有一個解決方案:
SELECT COUNT(*) FROM
(SELECT a, b
FROM MyTable
WHERE c = 'foo'
GROUP BY a, b) SubTable
但是我想知道是否有一種更整潔的方式構造此查詢?
怎么樣:
SELECT COUNT(*)
FROM (SELECT DISTINCT a, b FROM MyTable)
有關為何無法以更簡單的方式完成此操作的更多信息(除了連接字符串,如在其他答案中指出的那樣),您可以參考以下Google Answers文章: Sql Distinct Count 。
您可以將a和b一起連接成1個這樣的字符串(TSQL,希望在Sybase中非常相似:
SELECT COUNT(DISTINCT(STR(a) + ',' + STR(b)))
FROM @YourTable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.