Bug #108008 | mysql window function first_value wrong | ||
---|---|---|---|
Submitted: | 28 Jul 2022 5:47 | Modified: | 4 Nov 2022 14:35 |
Reporter: | YuSeong Jeong | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S1 (Critical) |
Version: | 8.0.23, 8.0.30 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | first_value, nth_value, window function |
[28 Jul 2022 5:47]
YuSeong Jeong
[28 Jul 2022 5:53]
YuSeong Jeong
correct value SELECT id AS id , parent_id AS parent_id , value AS value , FIRST_VALUE(value) OVER w AS 'FIRST_VALUE' # , LAG(value) OVER w AS 'LAG' # , NTH_VALUE(value, 4) OVER w AS 'NTH_VALUE' FROM ( VALUES ROW(1, 1, 1) ,ROW(2, 1, 20) ,ROW(3, 1, 300) ,ROW(4, 1, 4000) ,ROW(5, 1, 50000) ,ROW(6, 1, 600000) ) AS t(id, parent_id, value) WINDOW w AS ( PARTITION BY parent_id ORDER BY value ROWS BETWEEN 1 PRECEDING AND 2 FOLLOWING ) ---------------------------------- 1 1 1 1 2 1 20 1 3 1 300 20 4 1 4000 300 5 1 50000 4000 6 1 600000 50000
[28 Jul 2022 7:40]
MySQL Verification Team
Hello YuSeong Jeong, Thank you for the report and test case. regards, Umesh
[4 Nov 2022 14:35]
Christine Cole
Posted by developer: Fixed as of the upcoming MySQL 8.0.32 release, and here's the proposed changelog entry from the documentation team: When using window functions, the current row could reevaluate itself based on the wrong record in some cases. Thank you for the bug report.