首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

查出日期不反复的行

2013-07-08 
查出日期不重复的行我用到一个表student,结构和数据如下 :idnamecheckInTime1张三2012-09-09 20:102李四20

查出日期不重复的行
我用到一个表student,结构和数据如下 :
id   name     checkInTime
1    张三     2012-09-09 20:10
2    李四     2012-09-07 12:12
3    王五     2012-09-09 09:30
4    余六     2012-09-07 10:30
5    姜七     2012-09-06 11:13
6    李八     2012-09-08 19:20
7    邓九     2012-09-08 23:10
8    杜十     2012-09-05 18:40

我想找出checkInTime字段值里面日期不一样的5行数据(只看日期,忽视时间),这5行数据都是随机的,只要满足一个条件即checkInTime字段值日期不重复就行。此例的结果可以但不仅仅为:
id   name     checkInTime
1    张三     2012-09-09 20:10
2    李四     2012-09-07 12:12
5    姜七     2012-09-06 11:13
6    李八     2012-09-08 19:20
8    杜十     2012-09-05 18:40


这个查询语句怎么写?
多谢!
[解决办法]

 GO
INSERT INTO [tb]
SELECT 
1    ,'张三',     '2012-09-09 20:10' UNION ALL SELECT
2    ,'李四',     '2012-09-07 12:12' UNION ALL SELECT
3    ,'王五',     '2012-09-09 09:30' UNION ALL SELECT
4    ,'余六',     '2012-09-07 10:30' UNION ALL SELECT
5    ,'姜七',     '2012-09-06 11:13' UNION ALL SELECT
6    ,'李八',     '2012-09-08 19:20' UNION ALL SELECT
7    ,'邓九',     '2012-09-08 23:10' UNION ALL SELECT
8    ,'杜十',     '2012-09-05 18:40'

SELECT * FROM [tb] a WHERE NOT  EXISTS(SELECT 1 FROM [tb] WHERE ( CONVERT(CHAR(10),a.chekInTime,120)=CONVERT(CHAR(10),chekInTime,120)) AND a.chekInTime <chekInTime)

 
/*
id          name       chekInTime
----------- ---------- -----------------------
1           张三         2012-09-09 20:10:00.000
2           李四         2012-09-07 12:12:00.000
5           姜七         2012-09-06 11:13:00.000
7           邓九         2012-09-08 23:10:00.000


8           杜十         2012-09-05 18:40:00.000

(5 行受影响)
*/


PS: 可以加个 TOP 5 就可以。

热点排行