MySQL 复杂查询1 (统计一个月的生产总额)

 一张user表:

id为自增主键,uid为用户id,product为产品线代号,

value为用户在product产品线上盈利金额,

day为产生数据的日期(是个8位的int类型)

 

现要求:

求出用户在7月份所有产品线上产生金额超过(包含)100的uid和总金额。

 

解题思路:

首先求出用户在7月分所有产品线的uid和总金额,然后在此基础上,

求总金额>=100的 uid 和 总金额:

select uid, amount from 
(
 select uid, sum(value) as amount 
 from user 
 where day >=20190701 and day <=20190731 
 GROUP BY uid 
) as total
 WHERE amount >=100

结果:

=======================================================

需要注意点:

没有 "as total"取别名 的话,会报错:

Mysql错误:Every derived table must have its own alias

 

如:“每个派生表都必须有自己的别名"

 

一般是在多表查询或者子查询的时候会出现这个错误,

因为在嵌套查询中,子查询的结果是作为一个派生表给上一级进行查询,

所以子查询的结果必须有一个别名。

 

所以随便取个别名就ok

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值