日期:2014-05-17  浏览次数:20465 次

查出日期不重复的行
我用到一个表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