首页新闻找找看学习计划

关于sql的时间问题

0
悬赏园豆:50 [已解决问题] 解决于 2012-12-20 22:45

我有一张表有个字段,Id 自增列,InsertTime 时间,Speed 速率 

 

我想通过速率计算两个时间,第一个是当速率为0的时间,第二是速率不为0的时间

select InsertTime from table where Speed='0.00'---时间1

select InsertTime from table where Speed<>'0.00' ----时间2

怎么把两个时间组合成一个表,一个表示开始时间,一个表示结束时间

夏忆(夏天的回忆)的主页 夏忆(夏天的回忆) | 初学一级 | 园豆:6
提问于:2012-12-20 16:25
< >
分享
最佳答案
0

你的一个记录,一个 id只有一个时间,怎么表示 开始 和结束

select id,
'开始时间'=case when Speed='0.00' then InsertTime else '--' end,
'结束时间'=case when Speed <>'0.00' then InsertTime else '--' end from table 
收获园豆:30
Qlin | 老鸟四级 |园豆:2403 | 2012-12-20 16:59

可以把 这里的空行去掉吗?

NULL  2012-12-18 19:03:00.263  

NULL  2012-12-18 01:18:32.180  

2012-12-18 11:36:07.99    NULL
NULL  2012-12-18 20:36:06.617
NULL  2012-12-15 12:57:39.893
NULL  2012-12-16 01:23:28.277


夏忆(夏天的回忆) | 园豆:6 (初学一级) | 2012-12-20 17:22
其他回答(4)
0

select '开始时间',InsertTime from table where Speed='0.00'---时间1

union

select '结束时间',InsertTime from table where Speed<>'0.00' ----时间2

收获园豆:20
Launcher | 园豆:45045 (高人七级) | 2012-12-20 16:36

我想把两个时间放到一行,比如

Id   开始时间   结束时间  

1    ---           -----

这样的,不是把它合并了,不过,谢谢了

@夏忆(夏天的回忆): 对于这样的提问我很无奈,实在是不足以理解楼主的语言。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2012-12-20 17:39
0

select InsertTime from table where Speed='0.00'---时间1

select InsertTime from table where Speed<>'0.00' ----时间2

你这样搜索出来的数据肯定是有多条,不止一条,你的需求还是不够清楚

Rich.T | 园豆:3438 (老鸟四级) | 2012-12-20 16:47

是不止一条啊,就是把一个时间进行分类,当成两个时间,在形成一张表

Id   开始时间   结束时间 

1    ---           -----

0

你有别的关键字没说吧。。。

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-12-20 17:36

没,就是把这个时间根据Speed的速率统计成两段,一段是Speed为0的时间,一段为>0的时间,感觉逻辑上过不去!

0

根据以上发言我觉得楼主的需求极度不明确,只有一个id,根据speed去分解时间,没有其他关键字显然是不合理的。

比如:

id     InsertTime             speed

1   2012-12-16 01:23:28.277  0

2   2012-12-16 01:27:28.277  3

3   2012-12-16 01:31:28.277  0

4   2012-12-16 01:32:28.277  3

这样一个你想拆分成什么样子呢?请写出你的预期结果,不然没办法帮你

jzzlo | 园豆:282 (菜鸟二级) | 2012-12-20 19:21

其他字段也没有用,这是几张表的连接查询,就把InsertTime分为两个时间,根据Speed

效果是:

StartTime                              EndTime                                  TimeSpacing(两个时间的间隔)

2012-12-16 01:23:28.227     2012-12-16 01:23:48.227   20

清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册