返回计数和结果集

时间:2013-02-14 06:49:42

标签: mysql sql sql-server sql-server-2008 oracle11g

我想要一个列的唯一计数以及结果集.e.g如果结果集是这样的

              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列的唯一计数。

2 个答案:

答案 0 :(得分:1)

对于MySQL和SQL Server,您可以在相关的子语句中执行此操作:

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

MySQL Fiddle Demo

SQL Server Fiddle Demo

答案 1 :(得分:1)

这几乎适用于所有RDBMS。

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