簡體   English   中英

計算SQL中不同列的數量

[英]Count number of distinct columns in SQL

假設我有以下查詢:

SELECT DISTINCT(Value1,value2,value3) From table1

並得到像

        #   value1  value2  value3
--------------------------------------
        1.  result1 result1 result2
        2.  result1 result2 result2
        3.  result5 result6 result7

我如何添加一個額外的列,以告訴我該值的唯一組合出現了多少次,例如(最后一列是它發生了多少次):

 #    value1  value2  value3      #occurred
--------------------------------------
 1.  result1 result1 result2      15
 2.  result1 result2 result2      25
 3.  result5 result6 result7      35 
SELECT    Value1,value2,value3,count(*)
From      table1
group by  Value1,value2,value3

使用group by而不是distinct 然后,您可以使用count

select value1, value2, value3, count(*) as occurred
from table1
group by value1, value2, value3;

SQLite中的演示。

sqlite> select * from table1 order by value1, value2, value3;
value1      value2      value3    
----------  ----------  ----------
1           1           2         
1           1           2         
1           2           2         
1           2           2         
1           2           2         
5           6           7         

sqlite> select value1, value2, value3, count(*) as '#occurred' from table1 group by value1, value2, value3;
value1      value2      value3      #occurred 
----------  ----------  ----------  ----------
1           1           2           2         
1           2           2           3         
5           6           7           1         

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM