반응형
MariaDB 10.1의 창 기능에 대한 대안
창 기능이 있습니다(over
,partitioned by
) 내 코드에서:
FROM (SELECT wp_posts.id,
wp_postmeta.post_id,
post_title,
post_type,
meta_value,
Row_number()
OVER(
partition BY post_title
ORDER BY wp_postmeta.meta_value) rn
그러나 MariaDB 10.2 이전 버전에서는 지원되지 않습니다(-10.1 사용).MariaDB 10.1에서도 작동하는 효율적인 대체 코드를 제안해주실 수 있나요?
dbfiddle 제공, 안타깝게도 가장 오래된 MariaDB 10.2와 함께 제공됩니다. 여기서 10.1을 직접 테스트할 수 없습니다.
create table wp_posts ( ID integer primary key auto_increment, post_title varchar(30), post_type varchar(30) );
✓
create table wp_postmeta ( ID integer primary key auto_increment, post_id integer, meta_key varchar(30) not null default '_regular_price', meta_value integer not null );
✓
insert into wp_posts (post_title, post_type) values ('Apple Pie','Product'), ('French Toast','Product'), ('Shepards Pie','Product'), ('Jam Pie','Product'), ('Jam Pie','Product'), ('Plate','Not a Product'), ('Bucket','Not a Product'), ('Chequebook','Not a Product'), ('French Toast','Product'), ('French Toast','Product'), ('Banana','Product'), ('Banana','Product'), ('Banana','Product');
✓
insert into wp_postmeta (post_id, meta_value) values (1,10), (2,5), (3,9), (4,8), (5,11), (6,12), (7,10), (8,6), (9,1), (10,1), (11,7), (12,2), (13,2);
✓
-- 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_posts.id, 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);
✓
db<>여기로 이동
언급URL : https://stackoverflow.com/questions/54560605/alternative-to-window-function-in-mariadb-10-1
반응형
'programing' 카테고리의 다른 글
swift 2.2에서 몇 밀리초 동안 자는 방법? (0) | 2023.08.07 |
---|---|
엑셀 VBA에서 sql 데이터베이스로 매개 변수를 전달할 때 adDecimal 유형을 사용하는 방법은 무엇입니까? (0) | 2023.08.07 |
C# 6.0을 사용하기 위한 레이저 뷰 엔진 제조 방법 (0) | 2023.08.07 |
MYSQL의 모든 테이블에서 데이터 삭제 (0) | 2023.08.07 |
ForEach를 사용하여 사전을 통해 반복되는 Swift UI (0) | 2023.08.07 |