ROW_NUMBER () OVER (PARTITION BY, выдающий синтаксическую ошибку в mysql5.7 - PullRequest
1 голос
/ 08 апреля 2020

Я использую разделение для получения дубликатов строк, и этот запрос возвращает синтаксическую ошибку в mysql5.7

select column1,ROW_NUMBER() OVER (PARTITION BY column2, column3 ORDER BY column2 DESC) as  RowNumber 
from tableA

Ошибка:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(PARTITION BY column1, column2 ' at line 1

Или любой другой запрос

Или любой другой запрос, который перезапускает только дублирующиеся строки (и столбец 2, и столбец 3 содержат одинаковые значения repectivley), в этом случае выходные данные будут возвращать строки 1, 3, 5, 6

Все строки в таблице: All rows in table

Желаемый вывод по запросу: Desired output by query

Спасибо за ваше помощь.

1 Ответ

1 голос
/ 08 апреля 2020

С EXISTS:

select t.* from tablename t
where exists (
  select 1 from tablename
  where column1 <> t.column1 and column2 = t.column2 and column3 = t.column3
)
...