首页 > 试题广场 >

在MySQL 8.0中,关于窗口函数ROWS和RANGE框架

[单选题]
在MySQL 8.0中,关于窗口函数ROWS和RANGE框架的区别:
SELECT order_date, amount,
SUM(amount) OVER (ORDER BY order_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS rows_sum,
SUM(amount) OVER (ORDER BY order_date RANGE BETWEEN INTERVAL 2 DAY PRECEDING AND CURRENT ROW) AS range_sum
FROM orders;
当存在相同order_date的多条记录时,以下说法正确的是:
  • ROWS和RANGE的结果完全相同
  • ROWS基于物理行偏移,相同日期的不同行可能得到不同的rows_sum;RANGE基于值范围,相同日期的行得到相同的range_sum
  • RANGE的性能始终优于ROWS
  • ROWS不支持PRECEDING和FOLLOWING关键字

这道题你会答吗?花几分钟告诉大家答案吧!