计数2个不同的列

时间:2011-04-15 13:42:41

标签: oracle

如何获得2列的计数,以便有两列的不同组合?

Select count(distinct cola, colb)

6 个答案:

答案 0 :(得分:11)

SELECT  COUNT(*)
FROM    (
        SELECT  DISTINCT a, b
        FROM    mytable
        )

答案 1 :(得分:3)

SELECT COUNT(1)
  FROM (
    SELECT DISTINCT COLA, COLB
      FROM YOUR_TABLE
    )

答案 2 :(得分:2)

另一种方法

SELECT COUNT(DISTINCT COLA || COLB)
FROM THE_TABLE

http://www.sqlfiddle.com/#!4/c287e/2

答案 3 :(得分:1)

SELECT(从...中选择计数(可乐)),(从...中选择计数(colb))...

你可能想看看这个:

http://www.java2s.com/Code/Oracle/Aggregate-Functions/COUNTcolumnandCOUNTcountthenumberofrowspassedintothefunction.htm

如果您愿意,可以将Distinct放在子查询中。

答案 4 :(得分:0)

在Oracle DB中,您可以连接列,然后依靠下面的连接字符串:

SELECT count(DISTINCT concat(ColumnA, ColumnB)) FROM TableX;

在MySql中,您只需在count方法中添加列作为参数。

SELECT count(DISTINCT ColumnA, ColumnB) FROM TableX;

答案 5 :(得分:-3)

SELECT  COUNT(*)
FROM    (
        SELECT  DISTINCT a, b
        FROM    mytable
        ) As Temp