Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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查询中的窗口函数_Mysql_Postgresql_Window Functions - Fatal编程技术网

MySQL查询中的窗口函数

MySQL查询中的窗口函数,mysql,postgresql,window-functions,Mysql,Postgresql,Window Functions,有没有一种方法可以在SELECT查询本身中动态地使用MySQL查询中的窗口函数?(我知道这在PostgreSQL中是可能的) 例如,以下是PostgreSQL中的等效查询: SELECT c_server_ip, c_client_ip, sum(a_num_bytes_sent) OVER (PARTITION BY c_server_ip) FROM network_table; 但是,MySQL中的相应查询是什么?希望这可能有效: select A.c_server_ip, A.

有没有一种方法可以在SELECT查询本身中动态地使用MySQL查询中的窗口函数?(我知道这在PostgreSQL中是可能的)

例如,以下是PostgreSQL中的等效查询:

SELECT c_server_ip, c_client_ip, sum(a_num_bytes_sent) OVER 
   (PARTITION BY c_server_ip) FROM network_table;
但是,MySQL中的相应查询是什么?

希望这可能有效:

select A.c_server_ip, A.c_client_ip, B.mySum
 from network_table A, (
  select c_server_ip, sum(a_num_bytes_sent) as mySum
  from network_table group by c_server_ip
 ) as B
where A.c_server_ip=B.c_server_ip;

启动MySQL 8,现在可以使用Office和Advices,所以考虑升级到最新版本:

MySQL不支持窗口函数。使用下面的子查询或mysql变量。这些不是“分区”。“分区”的概念是指基于(分区)键将表的行物理存储在硬盘的不同区域。您正在寻找的是所谓的“窗口功能”,MySQL不支持该功能(以及许多其他现代SQL功能)@priiduemre在您的编辑马拉松期间,您还可以修复错误的概念,而不只是尝试漂亮地打印此页面上涉及Postgres的每个问题site@a_horse_with_no_name,如果不是编辑批准/拒绝对话框中的“此编辑不正确或试图回复或评论现有帖子”选项,我很乐意这样做:)。这就是为什么到目前为止,我的名字有一半被拒绝的编辑(这就是为什么我有效地限制自己提高各种问题的总体可读性,而不是修改它们的内容和概念:P)。