Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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 如何返回其第一订单值>第二订单值的客户id?_Mysql_Sql_Datetime_Aggregate Functions_Greatest N Per Group - Fatal编程技术网

Mysql 如何返回其第一订单值>第二订单值的客户id?

Mysql 如何返回其第一订单值>第二订单值的客户id?,mysql,sql,datetime,aggregate-functions,greatest-n-per-group,Mysql,Sql,Datetime,Aggregate Functions,Greatest N Per Group,我的表格如下: 订单:订单id、客户id、项目价格、项目数量、订单日期时间 现在我想返回第一个订单值大于第二个订单值的客户id 很抱歉,我没有任何代码,因为我完全不知道如何解决此问题:一个选项使用窗口函数和聚合: select customer_id from ( select o.*, row_number() over(partition by customer_id order by oder_datetime) rn from orders o ) o

我的表格如下:

订单:订单id、客户id、项目价格、项目数量、订单日期时间

现在我想返回第一个订单值大于第二个订单值的客户id


很抱歉,我没有任何代码,因为我完全不知道如何解决此问题:

一个选项使用窗口函数和聚合:

select customer_id
from (
    select o.*, 
        row_number() over(partition by customer_id order by oder_datetime) rn
    from orders o
) o
where rn <= 2
group by customer_id
having sum(
    case when rn = 1 
        then   item_price * item_quantity 
        else - item_price * item_quantity 
    end
) > 0