这条SQL语句怎么写?

benjaminaaa 2013-12-24 02:11:51
一个销售明细表 记录的是商品销售的明细信息
单号 销量 销售时间
1 2 ……
1 3
1 1
2 1
2 4
2 5
3 1
3 1
……
要查出滞销品的信息(从当天算起一个月或者多个月 总销量不超过10的商品)
这条要怎么写呢
...全文
145 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a_jian 2013-12-24
  • 打赏
  • 举报
回复
引用 3 楼 lu010610 的回复:
select t.id, sum(sale_num) sale_num
  from t
 where sale_date between start_date and end_date
 group by t.id
having sum(sale_num) <=10
根据具体情况修改吧
我也接着优化下: select t.id, sum(t.sale_num) from (select r.id, r.sale_date, min(r.sale_date) over(partition by r.id) as min_date, r.sale_num from web_clm_rule r) t where t.sale_date between t.min_date and t.min_date + 90 group by t.id having sum(t.sale_num) <= 10
_拙计 2013-12-24
  • 打赏
  • 举报
回复
start_date 和end_date 你自己算就是了
_拙计 2013-12-24
  • 打赏
  • 举报
回复
select t.id, sum(sale_num) sale_num
  from t
 where sale_date between start_date and end_date
 group by t.id
having sum(sale_num) <=10
根据具体情况修改吧
benjaminaaa 2013-12-24
  • 打赏
  • 举报
回复
引用 1 楼 luoyoumou 的回复:
滞销品的定义需要明确:而不是“一个月”或“多个月”这种不确定的定义。 SQL语句不能应付这种“不确定”的情况,除非你将其当参数写成函数!
写好后发现不能编辑 说的有点不明确 这个月份就是打算程序里用参数来自定义控制滞销的时长 如果假设是3个月的话 如何去写这条语句呢?
luoyoumou 2013-12-24
  • 打赏
  • 举报
回复
滞销品的定义需要明确:而不是“一个月”或“多个月”这种不确定的定义。 SQL语句不能应付这种“不确定”的情况,除非你将其当参数写成函数!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧