苏飞论坛

标题: [2013-01-10][苏飞]Sql查询一个职位表中最新的五条记录 [打印本页]

作者: 站长苏飞    时间: 2013-1-10 11:35
标题: [2013-01-10][苏飞]Sql查询一个职位表中最新的五条记录
[郑州] 站长苏飞<sufei.1013@163.com> 10:57:13

在职位表里查询5个最新刷新的职位,同一个公司只取一个

[code=sql]create table t
(
id int,--职位ID
pid int ,--公司ID
dt datetime --时间
)

insert into t values(11,1,'2012-12-1')
insert into t values(12,1,'2012-12-3')
insert into t values(21,2,'2012-12-5')
insert into t values(22,2,'2012-12-2')
insert into t values(31,3,'2012-12-8')
insert into t values(32,3,'2012-12-3')[/code]

[郑州] 站长苏飞<sufei.1013@163.com> 10:57:19

大家给看看这个怎么写


[重庆]版主-Eagle(838010363) 10:59:42

随机区?
[郑州] 站长苏飞<sufei.1013@163.com> 11:02:48

在职位表里查询5个最新刷新的职位,同一个公司只取时间最新的一个

[重庆]版主-Eagle(838010363) 11:06:23

没懂你的意思
[重庆]版主-Eagle(838010363) 11:06:29

我们私下说?
[郑州] 站长苏飞<sufei.1013@163.com> 11:08:24

查询 时间 最新的前五个记录,并且同一个pid的取时间最新的一个明白 吗?
[重庆]版主-Eagle(838010363) 11:09:02

先用分组查询 group by pid
在用排序 order by dt

[重庆]版主-Eagle(838010363) 11:09:13

联动
[重庆]版主-Eagle(838010363) 11:10:32

苏飞童鞋,解决了某又啊
无法浏览网页(1250623166) 11:12:29

把sql写出来
[郑州] 站长苏飞<sufei.1013@163.com> 11:12:51

呵呵,这个要动手,思路有,
[重庆]版主-Eagle(838010363) 11:13:43

我又不是没见到过,这个问题
[重庆]版主-Eagle(838010363) 11:14:20

用group by分组的时候那个条件要加一个查询关键字
无法浏览网页(1250623166) 11:17:32

苏飞童鞋,写出生气了
无法浏览网页(1250623166) 11:17:33

sql
无法浏览网页(1250623166) 11:18:18

我核对下~
无法浏览网页(1250623166) 11:20:30

12345 我们等的好辛苦,1234567 我们等的好着急!
[郑州] 站长苏飞<sufei.1013@163.com> 11:31:56
[code=sql]
WITH  t1 as(SELECT top 5 MAX(dt) maxdt,pid FROM t GROUP BY pid order by maxdt desc)
SELECT t.* FROM  t  JOIN t1 ON t1.pid = t.pid WHERE t.dt=t1.maxdt order by t.dt desc[/code]
[郑州] 站长苏飞<sufei.1013@163.com> 11:32:03

看看这个还能不能优化






欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4