2013-02-14 67 views
0

我想一列獨特的計數與結果集.eg沿着如果結果集是這樣返回與結果算集合沿

   ID  Name 
       2  A 
       2  B 
       4  C 
       5  D 
       1  A 
       1  B 

的,我想從數據庫返回:

   Count ID Name 
       4  2 A 
       4  2 B 
       4  4 C 
       4  5 D 
       4  1 A 
       4  1 B 

在哪裏可以清楚地看到4是ID列的唯一計數。

+0

您想從ID字段獨特的價值選擇與所有行的另一列? – zamil 2013-02-14 07:07:08

+0

@all。以上是結果集不是表格。我通過連接多個表得到這個。我需要唯一的ID號,這樣我就能知道我得到了多少個獨特的值。 我目前正在使用另一個SP來計算這個值。我想放棄這個SP並計入同一個SP中。 – 2013-02-14 07:20:21

回答

1

對於MySQL和SQL Server,可以在這樣的相關subquyery做到這一點:

SELECT 
    (SELECT COUNT(DISTINCT Name) 
    FROM tablename) AS 'Count', 
    ID, 
    Name 
FROM tablename; 

MySQL Fiddle Demo

SQL Server Fiddle Demo

1

這將適用於幾乎所有的RDBMS。

SELECT b.totalCount, a.ID, a.name 
FROM tableName a 
     CROSS JOIN 
     (SELECT COUNT(DISTINCT Name) totalCount 
     FROM tableName) b