2015-12-22 4 views
-2

У меня есть тестовые данные, как показано нижеудалить повторяющиеся строки на основе значений столбцов в SQL

col1 col2 col3 col4 col5 
----------------------------  
1  a  b  d c 
1  a  b  c d 
2  p  q  r s 
2  p  q  s r 
2  p  q  t u  
2  p  q  u t 

COL4 и col5 гораздо более похожи и col5 альтернативное значение COL4.

Поскольку у меня есть 2 строки, я хочу, чтобы удалить один

Я хочу только одну строку из (1-й и 2-й) строки и одной строки из (3-й и 4-й) и один ряд из (5 и 6).

Не могли бы вы помочь мне в этом?

+1

Какая СУБД вы используете? Postgres? Oracle? –

+0

SQL Server/MySQL/Firebird? – lad2025

+0

Все четыре строки - все ** разные ** - нет дублирования .... –

ответ

1

С помощью row_number() over(partition by col2,col3 order by col1) мы сохраняем номера строк и удаляя строки, имеющие row number >1, удаляем дубликаты.

Смежные вопросы