该怎么写sql

有字段:产品类型、销量、订单支付时间、分厂时间、发货时间。通过传的不同时间参数显示不同产品当前的销量情况,如:传的订单支付时间就显示当前月1号至当前订单支付时间不同产品的累计销量,传的发货时间就显示当前月1号至当前发货时间不同产品的累计销量,

FineReport yzme7sTE0397329 发布于 2022-10-24 16:56
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-10-24 16:58(编辑于 2022-10-24 17:00)

select 

产品类型、

sum(销量) as 累计销量

 from 表名称

where 1=1

${if(len(o_start_date)=0,"","and 订单支付时间>='"+o_start_date+"'")}

${if(len(o_end_date)=0,"","and 订单支付时间<='"+o_end_date+"'")}

${if(len(p_start_date)=0,"","and 发货时间>='"+p_start_date+"'")}

${if(len(p_end_date)=0,"","and 发货时间<='"+p_end_date+"'")}

group by 产品类型

最佳回答
0
yzm339714Lv6中级互助
发布于2022-10-24 17:04(编辑于 2022-10-24 17:08)

select 产品类型,sum(销量) as 销量 from 表名称

where 1=1

${if(colType="订单支付时间","and 订单时间>='"+start_date+"'","")}

${if(colType="订单支付时间","and 订单时间<='"+end_date+"'","")}

${if(colType="发货时间","and 发货时间>='"+start_date+"'","")}

${if(colType="发货时间","and 发货时间<='"+end_date+"'","")}

group by 产品类型

colType 就是传的参数名 , 后面两个时间参数 不用参数面板配置,直接写数据集的那 ,下面用公式去生成

DATEDELTA(today(),DAY(today()) -1)  这个是当前月第一天    today()  这个是当前日期

  • 3关注人数
  • 251浏览人数
  • 最后回答于:2022-10-24 17:08
    请选择关闭问题的原因
    确定 取消
    返回顶部