我想对column1进行分组,然后对其进行计数。现在,如果column1和column2在另一行中具有相同的值,则它将仅计为一个
示例表
column1 column2
2 4
1 1
1 1
3 4
2 4
3 1
1 3
示例输出
column1 column2 count
2 4 1
1 3 2
3 4 2
您会看到column1中的2
仅计为1,因为column2在其他行中也相同。
如何在mysql或雄辩的查询中做到这一点?
答案 0 :(得分:1)
您可以在下面尝试-它将在mysql中工作
select column1,max(column2),count(distinct column2)
from tablename
group by column1
答案 1 :(得分:1)
您可以尝试查询:
select t.column1, t.column2, count(*) as count from (
select column1, column2 from mytables group by column1, column2
order by column2 desc
) as t
group by t.column1
然后显示结果
答案 2 :(得分:1)
似乎您需要计数不同的column1,max(column2)
select column1, max(column2), count(*)
from (
select distinct column1, column2
from my_table
) t
group by column1