Foxtable(狐表)用户栏目专家坐堂 → 统计每个订单号最新日期,而且数量大于50的订单数


  共有2578人关注过本帖树形打印复制链接

主题:统计每个订单号最新日期,而且数量大于50的订单数

帅哥哟,离线,有人找我吗?
阿福
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
统计每个订单号最新日期,而且数量大于50的订单数  发帖心情 Post By:2015/8/25 8:52:00 [只看该作者]

老师请问一下:
有个订单表,我想统计每个订单号最新日期,而且数量大于50的订单数,用select语句怎么写(如下表统计结果为3个

 订单号   日期   数量   
   001   1月1日   30
   001   1月1日   70
   001   1月2日   40
   001   1月2日   60
   002   1月3日   20
   002   1月3日   80
   002   1月4日   10
   002   1月4日   60
   003   1月2日   80
   004   1月3日   40


Dim mzhy As Integer 
Dim cmd As New SQLCommand
cmd.CommandText = "Select count(*) F rom {订单} Where [数量] > 50 and ,,,,,,,,,                "
mzhy  = cmd.ExecuteScalar()

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 9:09:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/25 9:42:00 [只看该作者]

老师请你改一下,不知哪里出错了
select count(*) f rom {订单} as a inner join (select 订单号,数量, max(日期) as 日期  f rom {订单} group by 订单号) as b on a.订单号 = b.订单号 and a.日期 = b.日期  and a.数量 = b.数量  where 数量 > 50

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 9:49:00 [只看该作者]

Select count(*) f rom (select * f rom {订单} as a inner join (select 订单号, max(日期) as 日期  f rom {订单} group by 订单号) as b on a.订单号 = b.订单号 and a.日期 = b.日期 where 数量 > 50) as c


 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/25 9:50:00 [只看该作者]

谢谢红袍老师,我也想到一种方法:
select count(*) f rom {订单} as a inner join (select 订单号, max(日期) as 日期  f rom {订单} group by 订单号) as b on a.订单号 = b.订单号 and a.日期 = b.日期    where 数量 > 50

 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/25 10:57:00 [只看该作者]

老师在帮我看一下,下面代码哪里出错了?
Select * F rom {母猪分娩断奶信息} As a inner join (Select 编号, max(配种日期) As 配种日期  f rom {母猪分娩断奶信息}  group by 编号  ) As b on a.编号 = b.编号 And a.配种日期 = b.配种日期 Where [sys_user]= user.Name and [分娩_日期] is null and [状态]='存活' and DateDiff(d, 配种日期, '8/5/2015' ) < 3 and DateDiff(d, 配种日期, '8/12/2015' ) > 3

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 11:00:00 [只看该作者]

Select * F rom {母猪分娩断奶信息} As a inner join (Select 编号, max(配种日期) As 配种日期  f rom {母猪分娩断奶信息}  group by 编号  ) As b on a.编号 = b.编号 And a.配种日期 = b.配种日期 Where [sys_user]= '张三' and [分娩_日期] is null and [状态]='存活' and DateDiff(d, 配种日期, '2015-8-5') < 3 and DateDiff(d, 配种日期, '2015-8-12') > 3

 回到顶部
帅哥哟,离线,有人找我吗?
阿福
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:1357 威望:0 精华:0 注册:2015/3/25 16:42:00
  发帖心情 Post By:2015/8/25 11:07:00 [只看该作者]

老师:编写代码后出现黄色字的错误提示
Select * F rom {母猪分娩断奶信息} As a inner join (Select 编号, max(配种日期) As 配种日期  f rom {母猪分娩断奶信息}  group by 编号  ) As b on a.编号 = b.编号 And a.配种日期 = b.配种日期 Where [sys_user]= '开发者' and [分娩_日期] is null and [状态]='存活' and DateDiff(d, 配种日期, '2015-8-5') < 3 and DateDiff(d, 配种日期, '2015-8-12') > 3
.NET Framework 版本:2.0.50727.8000
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
列名 '配种日期' 不明确。
列名 '配种日期' 不明确。

但执行下面代码,少了where语句就没有出错
Select * F rom {母猪分娩断奶信息} As a inner join (Select 编号, max(配种日期) As 配种日期  f rom {母猪分娩断奶信息}  group by 编号  ) As b on a.编号 = b.编号 And a.配种日期 = b.配种日期


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 11:09:00 [只看该作者]

Select * F rom {母猪分娩断奶信息} As a inner join (Select 编号, max(配种日期) As 配种日期  f rom {母猪分娩断奶信息}  group by 编号  ) As b on a.编号 = b.编号 And a.配种日期 = b.配种日期 Where [sys_user]= '开发者' and [分娩_日期] is null and [状态]='存活' and DateDiff(d, b.配种日期'2015-8-5') < 3 and DateDiff(d, b.配种日期'2015-8-12') > 3

 回到顶部