Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 错误代码:1235。这个版本的MariaDB没有';还不支持';将(不同的)聚合计数为窗口函数';_Mysql_Sql_Mariadb_Window Functions - Fatal编程技术网

Mysql 错误代码:1235。这个版本的MariaDB没有';还不支持';将(不同的)聚合计数为窗口函数';

Mysql 错误代码:1235。这个版本的MariaDB没有';还不支持';将(不同的)聚合计数为窗口函数';,mysql,sql,mariadb,window-functions,Mysql,Sql,Mariadb,Window Functions,我在MariaDB上有下表: date name 2018-01-02 John 2018-01-03 Mary 2018-01-05 Peter 2018-01-06 John 2018-01-07 Ann 2018-01-08 Ann 2018-01-09 John 2018-01-10 Peter 我想计算每天的累计姓名数。i、 e.我期望我的结果如

我在MariaDB上有下表:

date              name

2018-01-02        John
2018-01-03        Mary
2018-01-05        Peter
2018-01-06        John
2018-01-07        Ann
2018-01-08        Ann
2018-01-09        John
2018-01-10        Peter
我想计算每天的累计姓名数。i、 e.我期望我的结果如下:

date        cumulated_name_count

2018-01-02        1
2018-01-03        2
2018-01-04        2
2018-01-05        3
2018-01-06        3
2018-01-07        4
2018-01-08        4
2018-01-09        4
2018-01-10        4
为了实现这一点,我使用以下带有窗口功能的代码:

select date, 
  count(distinct name) over (order by time rows unbounded preceding) 
  as cumulated_name_count from myDB.myTable
但是,我得到了以下错误:

Error Code: 1235. This version of MariaDB doesn't yet support 'COUNT(DISTINCT) aggregate as window function'

有没有办法避免这种错误并获得窗口函数的累积计数?谢谢

可以使用嵌套窗口函数执行此操作:

select date, 
       sum( seqnum = 1 ) over (order by time rows unbounded preceding)
              as cumulated_name_count
    from (select  t.*,
                  row_number() over (partition by name order by time)
                        as seqnum
              from myDB.myTable t
         ) t2;

子查询按时间枚举每个
名称
值。外部查询然后计算每条记录的“1”数。

Hi,我得到了这个错误:错误代码:4017。不允许使用“行号”的窗框。。。这是由于MariaDB版本引起的问题吗?我怎么能绕过它呢?谢谢(按名称划分顺序按时间划分)中是否实际需要“行无边界的前一行”?@Edamame。这是不必要的。当我复制代码时,我只是把它留在了里面。还需要一个
右键连接到日期列表中,否则
2018-01-04
将不会显示在输出中。