我的my_table中的数据看起来像
fruit1 fruit2 state
apple orange iowa
apple orange delaware
apple orange florida
grape plum texas
kiwi orange hawaii
kiwi orange alabama
我想选择水果1和2配对的次数。预期的结果将是
fruit1 fruit2 times_paired
apple orange 3
grape plum 1
kiwi orange 2
我不确定如何在sql中查找对。我知道那会是
select fruit1, fruit2, count(*) from my_table order by count(*)
答案 0 :(得分:2)
您必须group by
对。
select fruit1,fruit2,count(*)
from my_table
group by fruit1,fruit2
如果需要对a,b
之类的对与b,a
进行计数时,请使用least
和greatest
。
select least(fruit1,fruit2),greatest(fruit1,fruit2),count(*)
from my_table
group by least(fruit1,fruit2),greatest(fruit1,fruit2)