1
Jefei 2013-11-10 23:23:35 +08:00 1
子查询,具体就是这个样子
SELECT * FROM (SELECT * FROM tablename ORDER BY created_time DESC) t GROUP BY publish_time; |
2
iMouseWu 2013-11-11 00:15:04 +08:00
select * from Table where publish_time > GETDATE() order by publish_time DESC,created_time DESC;这样可以吗?
|
3
msg7086 2013-11-11 08:47:48 +08:00
> 如果pulish_time相同
如果不同呢? > 返回created_time大的 是返回一条最大的记录还是排序以后返回所有记录? |
5
1989922yan OP @iMouseWu
是这样的,我想做的是: “如果 publish_time相同的话,只返回一条,这条是created_time最大的”。 created_time是不会重复的,因为是一条一条插入的。 可能是我没有表述清楚,你的返回值,会有重复。 我想返回的是唯一啦~ THX! |
6
1989922yan OP @msg7086
> 如果pulish_time相同 如果不同呢? >> 如果不同,正常返回。 ———— > 返回created_time大的 是返回一条最大的记录还是排序以后返回所有记录? >> 返回, publish_time相同的条目s中,created_time最大的 |
7
awanabe 2013-11-11 18:02:09 +08:00
1.如果不要ID的话....可以这样...
select publish_time, max(created_time) from table_x where publish_time > now() group by publish_time 2.如果ID和created_time是同步增长的, 可以加上max(id)就行... 3. 如果ID和create_time是乱序的... 呵呵...感觉要写存储过程了... |
8
1989922yan OP @awanabe
感觉有些不满足要求。 真是的表结构: +----------------------+---------------------------------+ | Field | Type | +----------------------+---------------------------------+ | Adid | int(10) unsigned | | title | varchar(100) | | Imageid | int(10) unsigned | | content | text | | summary | varchar(1000) | | edited_comments_text | varchar(4000) | | publish_time | timestamp | | created | timestamp | | type | enum('homeAd','sideAd','topAd') | | isTopUsed | enum('on','off') | | adUri | varchar(50) | +----------------------+---------------------------------+ 你看到的,数据之间都是有联系的,之所以有那样的筛选条件,都是为了,能 取得对应的 Imageid. |
9
iMouseWu 2013-11-12 00:27:06 +08:00
@1989922yan 这条语句的第一条就是满足的条件咯?那么可以加一个top 1咩,不就可以只选第一条了呀?
|
10
msg7086 2013-11-12 06:34:59 +08:00 1
@1989922yan
>> 如果不同,正常返回。 正常返回是返回什么?return '正常'?能不能把一句话说完整?或者给出几个测试用例也好啊。 根据你给出的暧昧不清的问题条件,大致可以这样写 SELECT * FROM ¥TABLE¥ WHERE publish_time > NOW() ORDER BY publish_time ASC, created_time DESC LIMIT 1 >> created_time是不会重复的,因为是一条一条插入的。 一条一条插入,与time不会重复有什么关系? |
11
1989922yan OP @iMouseWu 这次没有真实地测试,不过,我猜测, top 1 之后,就没有 “其他group”的 “第一条” 数据啦~~
|
12
1989922yan OP |
13
1989922yan OP |