0
我有一些表,并提供工具给用户生成基于现有的新列。如何通过窗口函数筛选聚合函数的SQL语句中的行?
表:
+---+
| a|
+---+
| 0|
| 1|
| 2|
| 3|
| 4|
| 5|
+---+
新列名:b
新列规则必须是这样:max(a) over(WHERE a < 3)
如何纠正写这个?
结果必须像SQL语句:SELECT *, (SELECT max(a) FROM table WHERE a < 3) as b FROM table
。并且返回:
+---+---+
| a| b|
+---+---+
| 0| 2|
| 1| 2|
| 2| 2|
| 3| 2|
| 4| 2|
| 5| 2|
+---+---+
但是我无法在over()WHERE语句中写入,并且不能让用户知道表的名字。我该如何解决这个问题?