SQL求时间排序,100分求解 这样的排序,一般是通过ORDER BY CASE WHEN 这样的语句实现具体,要看你具体的数据,你文字描述,只能这样回答你。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select solded / case when stock <=0 then 24*(quehuoTime-buhuoTime+onlineTime) when stock > 0 then 24*(getdate()-buhuoTime+onlineTime) end as 单位时间内销售, id as 产品ID号 from tabnameorder by 1 desc 怎么看得很别扭啊!DATETIME是时间点啊,不是时间段啊。这个“缺货时间(quehuoTime)-补货时间(buhuoTime)+以往的在线时间(onlineTime) ”能求出总的在线时间? 你这个问题问的很好,所以那个onlineTime 字段就是保存以往的时间段,每次缺货,我都要加上上次的在线时间确切的说 onlineTime=onlineTime+以前的在线时间 就是保存到这次刚缺货时的以前所有在线时间,当现在补货时,他就要计算这次补货到目前时间,因为他都在线的所以有2种情况 1,如果这个产品缺货了(stock <=0) 那么这个产品的总的在线时间为:缺货时间(quehuoTime)-补货时间(buhuoTime)+以往的在线时间(onlineTime) 2,如果这个产品不缺货(stock>0) 那么这个产品的总的在线时间为:现在时间(getdate())-补货时间(buhuoTime)+以往的在线时间(onlineTime) 注意我上面的相加的时间点,是让你们理解这个意思,计算的时候,应该求时间差换成小时再与以往的在线时间(onlineTime)相加 不好意思啊,我上面的相加的时间点,是让你们理解这个意思,计算的时候,应该求时间差换成小时再与以往的在线时间(onlineTime)相加的 有7个字段 ID 产品ID号 stock 产品库存:整型 solded 产品销售数量:整型 addTime 产品添加时候的时间:datetime型 quehuoTime 产品缺货时间:datetime型 buhuoTime 产品补货时间:datetime型 onlineTime 产品以往的在线时间(小时数):整型,是用小时来计算时间差的 有2种情况 1,如果这个产品缺货了(stock <=0) 那么这个产品的总的在线时间为:缺货时间(quehuoTime)-补货时间(buhuoTime)+以往的在线时间(onlineTime) 2,如果这个产品不缺货(stock>0) 那么这个产品的总的在线时间为:现在时间(getdate())-补货时间(buhuoTime)+以往的在线时间(onlineTime) ---select *from taorder by solded /(case when stock <=0 then (datediff(h,buhuoTime,quehuoTime)+onlineTime) else (datediff(h,buhuoTime,getdate())+onlineTime) end) 按时间间隔求汇总(帮忙) 问个检找存储过程的问题 SQL取不重复的值 sql自定义函数怪问题(在线等) 如何用查询统计这样的问题? 怎样通过季度数而得到这个季度的最后一天的日期? 判断某字段默认值是否为指定字符时报错 excel文件更新导入和插入导入sql的问题 请问题各路高手:VFP6中的CTRL+ALT+DEL... 给介绍一本SQL 比较好的书集,要针对入门者的哦!!赠分! 求高手帮忙写一个SQLSERVER定时器,高分 很有意思的sql语句
select solded / case
when stock <=0 then 24*(quehuoTime-buhuoTime+onlineTime)
when stock > 0 then 24*(getdate()-buhuoTime+onlineTime)
end as 单位时间内销售, id as 产品ID号
from tabname
order by 1 desc
“缺货时间(quehuoTime)-补货时间(buhuoTime)+以往的在线时间(onlineTime) ”
能求出总的在线时间?
确切的说 onlineTime=onlineTime+以前的在线时间 就是保存到这次刚缺货时的以前所有在线时间,当现在补货时,他就要计算这次补货到目前时间,因为他都在线的
所以有2种情况
1,如果这个产品缺货了(stock <=0) 那么这个产品的总的在线时间为:缺货时间(quehuoTime)-补货时间(buhuoTime)+以往的在线时间(onlineTime)
2,如果这个产品不缺货(stock>0) 那么这个产品的总的在线时间为:现在时间(getdate())-补货时间(buhuoTime)+以往的在线时间(onlineTime)
注意我上面的相加的时间点,是让你们理解这个意思,计算的时候,应该求时间差换成小时再与以往的在线时间(onlineTime)相加
ID 产品ID号
stock 产品库存:整型
solded 产品销售数量:整型
addTime 产品添加时候的时间:datetime型
quehuoTime 产品缺货时间:datetime型
buhuoTime 产品补货时间:datetime型
onlineTime 产品以往的在线时间(小时数):整型,是用小时来计算时间差的 有2种情况
1,如果这个产品缺货了(stock <=0) 那么这个产品的总的在线时间为:缺货时间(quehuoTime)-补货时间(buhuoTime)+以往的在线时间(onlineTime)
2,如果这个产品不缺货(stock>0) 那么这个产品的总的在线时间为:现在时间(getdate())-补货时间(buhuoTime)+以往的在线时间(onlineTime) ---
select *
from ta
order by solded /(case when stock <=0 then (datediff(h,buhuoTime,quehuoTime)+onlineTime) else
(datediff(h,buhuoTime,getdate())+onlineTime) end)