| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题:sql语句求助
只看楼主 加入收藏
sky222
Rank: 4
等 级:业余侠客
威 望:1
帖 子:152
专家分:225
注 册:2010-3-11
结帖率:90%
收藏
已结贴  问题点数:50 回复次数:5 
sql语句求助
有这样一张表 t_kq
id    name      qdtime                   qttime            adddate
1    test3    2010-12-24 13:53                            2010-12-24
2    test3                          2010-12-24 14:53      2010-12-24
3    test3    2010-12-24 9:53                             2010-12-24
4    test3                          2010-12-24 17:53      2010-12-24
5    test3    2010-12-25 20:30                            2010-12-25
6    test3                          2010-12-26 8:30       2010-12-26

希望查询结果显示sql

同一天qdtime取最大值,qttime取最小值,如果当天没有qttime则显示第2天的qttime
使用 select name,max(qdtime),min(qttime),adddate from t_kq group by name,adddate
结果显示
name      qdtime                   qttime            adddate
test3    2010-12-24 13:53      2010-12-24 14:53      2010-12-24  
test3    2010-12-25 20:30         NULL               2010-12-25
test3    NULL                  2010-12-26 8:30       2010-12-26

如果想查询以下结果,sql语句应该怎么写。忘高人指点
 name      qdtime                   qttime            adddate
test3    2010-12-24 13:53      2010-12-24 14:53      2010-12-24  
test3    2010-12-25 20:30      2010-12-26 8:30       2010-12-26

小弟先谢谢了!



搜索更多相关主题的帖子: sql语句 
2010-12-29 10:42
juejitianya
Rank: 4
等 级:业余侠客
威 望:3
帖 子:44
专家分:272
注 册:2009-9-11
收藏
得分:0 
程序代码:
GO
--构造基础数据表
    if exists(select * from sysobjects where name = 't_kq' and xtype = 'u')
        drop table t_kq
GO
    create table t_kq(
    id int,
    name varchar(20),
    qdtime datetime,
    qttime datetime,
    adddate date)
   
Go
--为基础数据填充表结构
    insert into t_kq
    select 1, 'test1', '2010-12-24 13:53:00', null, '2010-12-24'
    union all
    select 2, 'test1', null, '2010-12-24 14:53:00', '2010-12-24'
    union all
    select 3, 'test1', '2010-12-24 9:53:00', null, '2010-12-24'
    union all
    select 4, 'test1', null, '2010-12-24 17:53:00', '2010-12-24'
    union all
    select 5, 'test1', '2010-12-25 20:30:00', null, '2010-12-25'
    union all
    select 6, 'test1', null, '2010-12-26 8:30:00', '2010-12-26'
   
GO

--查询实现方式
select a.name, a.qdtime, min(d.qttime)
    from t_kq a
    inner join t_kq d on a.adddate<=d.adddate and d.qttime is not null
    where not exists(select qdtime from t_kq b where a.adddate=b.adddate and a.qdtime<b.qdtime)
    and a.qdtime is not null
    group by a.name, a.qdtime
你先看看这个代码,有问题留言!
2010-12-29 12:08
juejitianya
Rank: 4
等 级:业余侠客
威 望:3
帖 子:44
专家分:272
注 册:2009-9-11
收藏
得分:50 
程序代码:
GO
--构造基础数据表
    if exists(select * from sysobjects where name = 't_kq' and xtype = 'u')
        drop table t_kq
GO
    create table t_kq(
    id int,
    name varchar(20),
    qdtime datetime,
    qttime datetime,
    adddate date)
   
Go
--为基础数据填充表结构
    insert into t_kq
    select 1, 'test1', '2010-12-24 13:53:00', null, '2010-12-24'
    union all
    select 2, 'test1', null, '2010-12-24 14:53:00', '2010-12-24'
    union all
    select 3, 'test1', '2010-12-24 9:53:00', null, '2010-12-24'
    union all
    select 4, 'test1', null, '2010-12-24 17:53:00', '2010-12-24'
    union all
    select 5, 'test1', '2010-12-25 20:30:00', null, '2010-12-25'
    union all
    select 6, 'test1', null, '2010-12-26 8:30:00', '2010-12-26'
   
GO

--查询实现方式
select a.name, a.qdtime, min(d.qttime) qttime,min(d.adddate) adddate
    from t_kq a
    inner join t_kq d on a.adddate<=d.adddate and d.qttime is not null
    where not exists(select qdtime from t_kq b where a.adddate=b.adddate and a.qdtime<b.qdtime)
    and a.qdtime is not null
    group by a.name, a.qdtime
test1    2010-12-24 13:53:00.000    2010-12-24 14:53:00.000    2010-12-24
test1    2010-12-25 20:30:00.000    2010-12-26 08:30:00.000    2010-12-26
上面忘记了AddDate字段,现在补上了并贴了结果。
2010-12-29 13:09
sky222
Rank: 4
等 级:业余侠客
威 望:1
帖 子:152
专家分:225
注 册:2010-3-11
收藏
得分:0 
谢谢,很好
2010-12-29 14:49
QQ694588051
Rank: 1
来 自:四川
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-12-30
收藏
得分:0 
学习了

[qq]584370402[/qq]]
2010-12-30 16:17
dengjinjie
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-15
收藏
得分:0 
学习,学习
2011-01-04 13:58
快速回复:sql语句求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048244 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved