鉴于以下数据:
visit_id
1
1
1
2
3
3
4
5
是否可以仅使用sql(实际上是mysql的方言,而不是其他编程语言中的循环)来输出:
total visits number of visitor ids
1 3
2 1
3 1
即。将数据分解为它们发生的次数?所以在上面的例子中,有3个访问ID只出现一次(2,4,5),一个访问id出现两次(3),一个出现三次(1)。
感谢
答案 0 :(得分:4)
当然,它被称为分组。
select visit_id, count(visit_id) from visits group by visit_id
答案 1 :(得分:3)
以František的回答为基础
select acc.visitCount as total_visits,
count(acc.visitCount) as number_of_visitor_ids
from (
select visit_id,
count(visit_id) as visitCount
from visits
group by visit_id
) acc
group by acc.visitCount