Функция Windows недействительна для 10.1.37-MariaDB? - PullRequest
0 голосов
/ 05 февраля 2019

Версия сервера базы данных: Версия сервера: 10.1.37-MariaDB - двоичный дистрибутив mariadb.org

Ошибка:

1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования

near '(разделение по порядку post_title по wp_postmeta.meta_value) rn
' в строке 8

Запрос:

-- Deleting all duplicate products in wp_posts table

DELETE FROM
wp_posts WHERE ID IN ( SELECT ID FROM
(
select ID,post_title,post_type,meta_value from 
(SELECT wp_postmeta.post_id,post_title,post_type ,meta_value,
row_number()over(partition by post_title order by wp_postmeta.meta_value) rn                           
FROM   wp_postmeta 
JOIN wp_posts ON wp_postmeta.post_id = wp_posts.id 
WHERE  wp_posts.post_type = 'Product' 
  AND wp_postmeta.meta_key = '_regular_price' 

) t where t.rn <> 1
) AS aliasx
);

-- Deleting all corresponding wp_postmeta.post_ids that don't have a match in wp_posts.id after the duplicate deletion above

DELETE FROM wp_postmeta WHERE post_id IN (select post_id from (
  SELECT pm.post_id 
  FROM
    wp_postmeta pm
    LEFT JOIN 
    wp_posts p
    ON p.id = pm.post_id
  WHERE
    p.id IS NULL
    AND
    p.post_type = "Product"
) AS aliasy );

Может ли кто-нибудь предложить простое исправление кода, обеспечивающее совместимость с версией базы данных, 10.1.37-MariaDB?

db Fiddle здесь

...