我希望我能正确解释这一点,这有点令人困惑。我需要查询具有相同“origin”和相同“destination”的记录。我的每行都有一个起点和一个目的地。我需要看到两者都匹配的那些。因此,例如,如果西雅图(起源)和波特兰(目的地)有一行,我需要查看以西雅图为起点而波特兰为目的地的所有其他记录。另外,我需要查看所有类型匹配的记录。因此,如果有相同来源和相同目的地的记录(不仅仅是西雅图和波特兰),它们也会被显示出来。合理?你能帮忙吗?
答案 0 :(得分:1)
如果我理解得很好,你想在某些领域找到重复的东西。
你可以做到
select *
from YourTable t
join (select origin, destination
from YourTable
group by origin, destination
having count(*) > 1) m
on t.origin = m.origin and t.destination = m.destination
如果您不需要所有字段,则可以
select origin, destination, count(*)
from YourTable
group by origin, destination
having count(*) > 1
答案 1 :(得分:0)
我想知道您是否只想对数据进行排序:
select t.*
from table t
order by by origin, destination;
这会将具有公共值的行放在一起。