所以我发现mysql不支持像count(distinct(person\u id))这样的聚合函数与window函数一起使用。例如,下面的查询将不起作用。
select count(distinct(person_id)) over ([OrderBy clause])
from <table>;
与窗口函数一样快速工作的问题的替代方法是什么?
架构:
create table table1(
check_date date,
person_id varchar(10)
);
我尝试的查询:
select person_id,count(distinct(person_id))
over (order by check_date range between interval '20' day preceding and current row)
from table1;
需要在20天的窗口框架内获得所有不同人员的数量。
1条答案
按热度按时间tquggr8v1#
这回答了问题的原始版本。
在mysql 8+中,可以使用两个窗口函数来模拟这一点: