Foxtable(狐表)用户栏目专家坐堂 → [求助]快速获取数据库中日期的最大值和最小值


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

主题:[求助]快速获取数据库中日期的最大值和最小值

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
[求助]快速获取数据库中日期的最大值和最小值  发帖心情 Post By:2018/7/19 13:34:00 [只看该作者]


这是我获取日期的最大值和最小值的方法,
图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180719133035.jpg
图片点击可在新窗口打开查看
但是耗时比较久,请问有没好的方法能快速获取最大最小日期

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/19 16:28:00 [只看该作者]

参考这个做法 ExecuteValues,如果是最大max,如果最小min

 

Dim cmd As new SQLCommand
cmd.CommandText = "Select Sum(数量) As 数量, Sum(数量 * 单价) As 金额 from {订单} Where 产品 = 'PD01'"
Dim Values = cmd.ExcuteValues
If Values.Count > 0 Then
    Output.show(Values("数量"))
    Output.show(Values("金额"))
End If

[此贴子已经被作者于2018/7/19 16:27:53编辑过]

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2018/7/19 20:14:00 [只看该作者]

Dim cmd As new SQLCommand
cmd.Con nectionName = 
cmd.Com mandText = "select max(year(结佣日)) as 最大结佣年,max(month(结佣日)) as 最大结佣月,min(month(结佣日)) as 最小结佣月 fr om {YW_佣金管理} Where Year(结佣日) = Year(GetDate()) " 
dt = cmd.Exe cuteReader() 
Dim ma As String = dt.compute("max(最大结佣月)")
Dim maa As String = dt.compute("max(最大结佣年)")
Dim su As String
For i As Integer = 1 To ma
su = su & ",sum(case when month(结佣日) = " & i & " then 已收佣金 else 0 end) as [" & i & "]"
Next
Dim s As String="SELECT max(_identify) as _identify,部门所属, 部门名称 " & su & " FR OM {YW_佣金管理} Where Year(结佣日) = " & maa & " GROUP BY 部门所属, 部门名称"
msgbox(s)

这种能统计到今年每自然月的佣金,但是我们不是以自然月算的,请问如何把
month(Case When Day(结佣日) > 28 Then DateAdd(d,3,结佣日) Else 结佣日 End)
放进sql里面去,使其统计统计从上月的29号只统计月的28日

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/19 20:29:00 [只看该作者]

比如 max(year(结佣日))

 

就要改成,如 max(Year(Case When Day(结佣日) > 28 Then DateAdd(d,3,结佣日) Else 结佣日 End))

 

月份的也类似那样。如果还有问题,做个例子发上来测试吧。


 回到顶部