请教求唯一值的sql语句:?
lord_is_layuping
2009-03-24
现有表如下
id(number) 日期(date) score(number) 1 2009-3-1 100 2 2009-3-1 500 3 2009-3-1 300 4 2009-3-2 200 5 2009-3-7 400 6 2009-3-2 230 7 2009-3-4 220 我想得到这样的结果:过滤掉日期相同的记录,只要有日期是同一天,就取id是最大值的哪一行,如: 1 2009-3-1 100 2 2009-3-1 500 3 2009-3-1 300 同为2009年3月一日这一天,我就只取id=3的这一行。 -------------------------------------- 因此, 上表的结果应该是: id 日期 score 3 2009-3-1 300 5 2009-3-7 400 6 2009-3-2 230 7 2009-3-4 220 我用的的数据库是oracle |
|
Alan_Xu
2009-03-24
假定你的表名为dateInfo,则查询语句如下:
select id,date,score from dateInfo where id in (select max(id) from dateInfo group by date); |
|
starting
2009-04-01
select sys_guid() from dual
SYS_GUID会保证它创建的标识符在每个数据库里都是唯一的 |
|
wmdonald
2009-04-04
假设表为info表(列名为:id,time,score),查询语句如下:
Select * From (select id,time,score,rank() over(Partition By Time Order By id Desc) rk from info) Where rk<2; |
|
LinuxForShare
2009-04-09
select max(id),日期,score from table1 where ... group by 日期,score
|
|
wuwei19841002
2010-01-18
网上搜下!自己的勤奋点!!毕竟自己动手,在运用时更顺手顺心,这例子到处都是
|
|
jayzotion
2010-01-19
SELECT * FROM TABLE_NAME WHERE id IN (SELECT MAX(id) FROM TABLE_NAME GROUP BY date)
|