[前][次][番号順一覧][スレッド一覧]

mysql:16439

From: <mysql201706mailing@xxxxxxxxxx>
Date: Sat, 4 Nov 2017 12:03:09 +0900 (JST)
Subject: [mysql 16439] MySQL8.0のwindow関数と他DBとの比較結果

明智重蔵です。

MySQL8.0のWindow関数を他DBと比較してまして、
MySQLエキスパートの皆様に御願いがあります。

MySQL8.0が動かせる方がおりましたら、
比較3を、試した結果を書いていただけないでしょうか?
(同様の比較をされる方に、有用な情報になると思いますので)

■■■比較1■■■■■■■■■■■■■■■■■■■■■■■■■■■
Oracleで可能な、
Lag,Lead,First_Value,Last_Value,Nth_Valueでのignore nulls

https://www.slideshare.net/oysteing/common-table-expressions-cte-window-functions-in-mysql-80
の48ページと49ページによると、MySQL8.0では不可

■■■比較2■■■■■■■■■■■■■■■■■■■■■■■■■■■
ソートキーが日付型で、Range指定でのInterVal型の使用

https://www.slideshare.net/oysteing/common-table-expressions-cte-window-functions-in-mysql-80
の35ページによると、MySQL8.0で可能です

■■■比較3■■■■■■■■■■■■■■■■■■■■■■■■■■■
SQLServerで可能な、
Window関数を使用したインラインビューでのUpdateとDelete

create table TestTable(
Val int unsigned);

insert into TestTable values
(1),(3),(5),(10),(20),(30),(40);

with UpdView as(
select Val,Row_Number() over(order by Val) as NewVal
 from TestTable)
update UpdView set Val = NewVal;

with DelView as(
select Row_Number() over(order by Val) as rn
 from TestTable)
delete from DelView where rn < 3;

https://www.slideshare.net/oysteing/mysql-80-common-table-expressions-71760102
の5ページに書いてある構文です。

https://dev.mysql.com/doc/refman/8.0/en/view-updatability.html
にWindow関数を使うと更新(および削除)不可と書いてないので
更新(および削除)可能と予想してます。

添付ファイル

[前][次][番号順一覧][スレッド一覧]

-> @ 16439 2017-11-04 12:03 [<mysql201706mailing@] MySQL8.0のwindow関数と他DBとの比較結果  
     16440 2017-11-04 13:04 ┗[meiji kimura <meiji.]                                       
   @ 16441 2017-11-04 14:35  ┗[<mysql201706mailing@] Re: [mysql 16440] Re: MySQL8.0のwindow関数と他DBとの比較結果
     16446 2017-12-04 10:04   ┗[meiji kimura <meiji.] Re: MySQL8.0のwindow関数と他DBとの比較結果