SQL—关于一段自嵌套的查询

需求背景是这样的,要查询一段时间内某一类用户的支付数据,即总支付人数,总支付单数、总支付额。某一类用户的条件是:

No-1单笔支小于100元

No-2非1元秒杀活动支付的订单,单笔支付不等于1元

No-3每日支付的订单至少关联2个不同的商家

No-4每日支付任意商家的订单数不超过5笔

是个很有趣的查询,尤其是条件3或者4,各位看官老爷可以先思考一下再往下看。

小编尝试了几种不同的方法,以下将其中写查询行数最短的一种,写给大家分享,如果大家有更好更有趣的方法,欢迎分享。

SQL—关于一段自嵌套的查询_第1张图片

表名:order_view

用户ID:userid

商家ID:sellerid

订单ID:orderid

支付时间:paytime

实付订单价:b_price_pay

这段查询中,起关键作用的的就是两个having语句,第一个having解决条件1、2和4,第二个解决条件3。整段查询中最有趣的是count()与sum()在不同查询中的转换。

以上。

你可能感兴趣的:(SQL—关于一段自嵌套的查询)