Что не так с моим кодом SQL?
Я пытался удалить повторяющиеся строки после этого ответа
Но я продолжаю получать следующую ошибку:
вблизи "(": синтаксическая ошибка: SELECT rn = ROW_NUMBER () OVER (
Вот код SQL:
SELECT
rn = ROW_NUMBER() OVER (PARTITION BY s.stop_id, s.stop_name
ORDER BY s.stop_id, s.stop_name)
FROM stops s
Я где-то читал, что это связано с версиями SQL или использованием sqlite3 ??
Вот некоторая дополнительная информация к проблеме:
У меня есть начальная таблица:
table_beginning =
[some_text0 , some_text1 , some_text2 , some_text3 ]
[ bla_1 , monday , red , bla_something ]
[ bla_77 , tuesday , green , bla_other ]
[ bla_99 , monday , blue , bla_anything ]
[ bla_00 , wednesday , red , bla_maybe ]
[ bla_55 , monday , violet , bla_more ]
[ bal_66 , monday , red , bla_kind ]
[ bal_22 , monday , red , bla_stuff ]
Я хотел бы закончить с таблицей, которая не имеет дубликатов, касающихся col_2 и col_3 (не заботясь о том, какие col_1 и col_4 есть !!)
Например:
table_final1 =
[some_text0 , some_text1 , some_text2 , some_text3 ]
[ bla_1 , monday , red , bla_something ]
[ bla_77 , tuesday , green , bla_other ]
[ bla_99 , monday , blue , bla_anything ]
[ bla_00 , wednesday , red , bla_maybe ]
[ bla_55 , monday , violet , bla_more ]
(-> какие из выброшенных строк не имеют значения. Следовательно, принятая финальная таблица может также выглядеть так:
table_final2 =
[some_text0 , some_text1 , some_text2 , some_text3 ]
[ bla_77 , tuesday , green , bla_other ]
[ bla_99 , monday , blue , bla_anything ]
[ bla_00 , wednesday , red , bla_maybe ]
[ bla_55 , monday , violet , bla_more ]
[ bal_66 , monday , red , bla_kind ]
или
table_final3 =
[some_text0 , some_text1 , some_text2 , some_text3 ]
[ bla_77 , tuesday , green , bla_other ]
[ bla_99 , monday , blue , bla_anything ]
[ bla_00 , wednesday , red , bla_maybe ]
[ bla_55 , monday , violet , bla_more ]
[ bal_22 , monday , red , bla_stuff ]
Все, что имеет значение, это то, что col_2 и col_3 никогда не имеют одинаковых двух записей!
Как видите, some_text1 = monday AND some_text2 = red
существует сейчас только один раз!
(устранение дубликатов с точки зрения только глядя на col_2 и col_3)
Что касается содержимого в col_1 и col_4 - мне все равно, что там! Меня беспокоит только то, что находится внутри col_2 и col_3 (там нет дубликатов!)
Одно решение:
Я нашел способ (но может быть, есть более элегантный ??)
CREATE TABLE table_intermediate AS
SELECT DISTINCT col_2, col_3
FROM table_beginning;
-> Это создает промежуточную таблицу
-> с ключевым словом DISTINCT
это устраняет дубликаты
-> (недостаток, я теряю информацию col_1 и col_4 полностью)
Может быть, есть решение, где я могу хранить информацию о col_1 и col_4 ???
(опять же, какой из col_1 или col_4 мне все равно!)