求教SQL写法

kyber1983 2007-11-15 05:44:51
如有一表有如下数据:
入仓号 重量 入仓时间
C79023400100 23.00 2007-09-07 10:13:09.670
C79023400200 17.80 2007-09-07 13:21:27.173
C79023400300 16.60 2007-09-07 13:21:27.173
C79023400400 19.40 2007-09-07 13:21:27.173
C79023400500 20.10 2007-09-07 14:06:12.547
C79023400600 21.00 2007-09-07 14:06:12.547
C79023400900 25.90 2007-09-08 09:07:48.137
C79023401000 19.50 2007-09-08 09:07:48.137
C79023401100 19.90 2007-09-08 09:07:48.137
C79023401200 19.20 2007-09-08 09:07:48.137
C79023400800 20.20 2007-09-08 09:09:30.823
C79023400700 19.10 2007-09-08 09:12:27.590
C79023401800 20.30 2007-09-08 09:14:26.090
C79023402000 18.70 2007-09-08 09:14:26.090
我要求的是:
当入仓重量刚大于100时对应的那个入仓号对应的入仓时间

结果就是第六条数据对应的时间(红色字体表示):
C79023400600 21.00 2007-09-07 14:06:12.547

请赐教,小弟不胜感激。
...全文
56 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
changjiangzhibin 2007-11-16
  • 打赏
  • 举报
回复
select top 1 入仓时间 from (select * from tb wherer 重量=100)
dobear_0922 2007-11-15
  • 打赏
  • 举报
回复
按入仓号排:
select top 1 * from tb T
where (select sum(重量) from tb where 入仓号<=T.入仓号)>=100
order by 入仓号
dobear_0922 2007-11-15
  • 打赏
  • 举报
回复
do熊大哥:我刚试了一下,这样不行的啊
------
现在行了
select top 1 * from tb T
where (select sum(重量) from tb where 入仓号<T.入仓号)>=100
order by 入仓号
xiaoku 2007-11-15
  • 打赏
  • 举报
回复
我的复杂了...好久没有抢分!汗自己一个。
kyber1983 2007-11-15
  • 打赏
  • 举报
回复
谢谢,我给分
glvicky 2007-11-15
  • 打赏
  • 举报
回复
难怪……我是自己建了个表,根据ID来的~``
LZ估计是根据入仓时间排的……有相同,难怪不行……
kyber1983 2007-11-15
  • 打赏
  • 举报
回复
谢谢,do熊大哥已经可以了!
xiaoku 2007-11-15
  • 打赏
  • 举报
回复
o.按入仓时间?入仓时间有重复?
改改..
xiaoku 2007-11-15
  • 打赏
  • 举报
回复
select  入仓号  ,重量 ,  入仓时间 
from
(
select a.* ,(select sum(重量)as 总重量 from tbl where a.入仓号<入仓号) as 前重量
,(select sum(重量)as 总重量 from tbl where a.入仓号<=入仓号) as 后重量
from tbl a
) b
where b.前重量<= 100 and b.后重量>100
glvicky 2007-11-15
  • 打赏
  • 举报
回复
我试是行的~`
kyber1983 2007-11-15
  • 打赏
  • 举报
回复
do熊大哥:我刚试了一下,这样不行的啊
liangCK 2007-11-15
  • 打赏
  • 举报
回复
do熊说的意思?.汗了.
liangCK 2007-11-15
  • 打赏
  • 举报
回复
重量大于100怎么求的?..我怎么没看到有一个相关的?
kyber1983 2007-11-15
  • 打赏
  • 举报
回复
入仓号 重量 入仓时间
C79023400100 23.00 2007-09-07 10:13:09.670
C79023400200 17.80 2007-09-07 13:21:27.173
C79023400300 16.60 2007-09-07 13:21:27.173
C79023400400 19.40 2007-09-07 13:21:27.173
C79023400500 20.10 2007-09-07 14:06:12.547
C79023400600 21.00 2007-09-07 14:06:12.547
C79023400900 25.90 2007-09-08 09:07:48.137
C79023401000 19.50 2007-09-08 09:07:48.137
C79023401100 19.90 2007-09-08 09:07:48.137
C79023401200 19.20 2007-09-08 09:07:48.137
C79023400800 20.20 2007-09-08 09:09:30.823
C79023400700 19.10 2007-09-08 09:12:27.590
C79023401800 20.30 2007-09-08 09:14:26.090
C79023402000 18.70 2007-09-08 09:14:26.090

上面表没对应,我改正一下
dobear_0922 2007-11-15
  • 打赏
  • 举报
回复
select top 1 * from tb T
where (select sum(重量) from tb where 入仓时间<=T.入仓时间)>=100
order by 入仓时间

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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