2013-08-29 42 views
-1

如何在MySQL中的两个数据库表的列中返回重复值的计数?假设第1列的行包含值'a',第2列的行包含值'b',第1列的另一行包含值'a',第2列的行包含值'b',那么我希望计数返回为2.通过分区不起作用。在mysql中有多列的列中重复值的计数

回答

1

你想要做一个简单的聚合?

select col1, col2, count(*) 
from t 
group by col1, col2; 

或者,你想这个价值附加到每一行:

select t.*, tsum.cnt 
from t join 
    (select col1, col2, count(*) as cnt 
     from t 
     group by col1, col2 
    ) tsum 
    on tsum.col1 = t.col1 and tsum.col2 = t.col2; 
+0

简单聚合正是我需要的,但更我只需要最大计数值将返回且仅当它大于一些值 – carefree

+0

@carefree。 。 。然后添加'count by count(*)limit 1'来获得最高的计数。 –

+0

它是返回最低计数,任何想法获得最高计数? – carefree