荷航电 2022-11-14 12:54 采纳率: 50%
浏览 75
已结题

以下两个SQlite3的数据库聚合查询应该怎么写?

请各位帮忙!

表:
商品 日期 姓名 金额
BJ01 20220130 小王 4000
BJ01 20220230 小王 5000
BJ01 20220330 小王 9000
SZ01 20220130 小李 4000
SZ01 20220230 小李 6000
SZ01 20220330 小李 5000
BJ01 20220130 小张 5000
BJ01 20220230 小张 6000
BJ01 20220330 小张 4000
FJ01 20220130 小陈 7500
FJ01 20220230 小陈 8500
FJ01 20220330 小陈 4000
FJ01 20220430 小陈 3500

1,按商品和姓名统计结果:
商品 日期 姓名 最大日期金额 最小日期金额 差额 月数
BJ01 20220130 小王 9000 4000 5000 3
SZ01 20220130 小李 5000 4000 1000 3
BJ01 20220330 小张 4000 5000 -1000 3
FJ01 20220430 小陈 3500 7500 -4000 4
尝试的代码,请更正!
select *,count(商品 || 姓名) as number , max(取最大日期对应的金额) as 最大日期金额,min(取最小日期对应的金额) as 最小日期金额, (max(最大日期金额) - min(最小日期金额)) as 差额
from table WHERE
GROUP BY 商品 || 姓名
order by 差额 DESC

2,按商品统计结果:
商品 日期 最大日期金额 最小日期金额 差额 月数
BJ01 20220130 13000 9000 4000 3
SZ01 20220130 5000 4000 1000 3
FJ01 20220430 3500 7500 -4000 4
尝试的代码,请更正!
select *,count(商品) as number ,小张与小王商品一样合并

  • 写回答

4条回答 默认 最新

  • Java大魔王 2022-11-14 14:41
    关注

    结果中的日期,因为有聚合操作group by,所以应该要指明,要的是最大日期还是最小日期,我两个都查了出来

    select a.*, b.金额 as 最大日期金额, c.金额 as 最小日期金额, (b.金额 - c.金额) as 差额 from(
      select 商品, max(日期) as 最大日期, min(日期) as 最小日期, 姓名, count(日期) as 月数
      from table 
      group by 商品, 姓名
    )a
    inner join(
      select * from table
    )b on a.商品 = b.商品 and  a.姓名 = b.姓名 and  a.最大日期 = b.日期
    inner join(
      select * from table
    )c on a.商品 = c.商品 and  a.姓名 = c.姓名 and  a.最小日期 = c.日期
    
    select a.*, b.金额 as 最大日期金额, c.金额 as 最小日期金额, (b.金额 - c.金额) as 差额 from(
      select 商品, max(日期) as 最大日期, min(日期) as 最小日期, count(日期) as 月数
      from table 
      group by 商品
    )a
    inner join(
      select * from table
    )b on a.商品 = b.商品 and  a.最大日期 = b.日期
    inner join(
      select * from table
    )c on a.商品 = c.商品 and a.最小日期 = c.日期
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月16日
  • 已采纳回答 11月15日
  • 创建了问题 11月14日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装