【发布时间】:2011-06-25 01:28:55
【问题描述】:
我有一个帖子表,我将每个帖子的类型保存在一个字段中。假设我有两种类型 - “type1”和“type2”。我需要从该表中检索最新的 x 个帖子,其中 x/2 个帖子来自“type1”,另一半来自“type2”。使用一个mysql查询怎么可能?
【问题讨论】:
-
我不知道你是程序员,休!
标签: mysql
我有一个帖子表,我将每个帖子的类型保存在一个字段中。假设我有两种类型 - “type1”和“type2”。我需要从该表中检索最新的 x 个帖子,其中 x/2 个帖子来自“type1”,另一半来自“type2”。使用一个mysql查询怎么可能?
【问题讨论】:
标签: mysql
好的,你的桌子是这样的:
post_text post_type post_date
--------- --------- ---------
Hello World 1 2011-06-21
Foo Bar 2 2011-06-22
Fizz Buzz 2 2011-06-23
lol hai 1 2011-06-24
你想检索一些 (x) 的帖子,其中一半是类型 1,另一半是类型 2?
一种可能的解决方案是:
(SELECT post_text
FROM mytable
WHERE post_type = 1
ORDER BY post_date DESC
LIMIT 1)
UNION
(SELECT post_text
FROM mytable
WHERE post_type = 2
ORDER BY post_date DESC
LIMIT 1);
当然,限制数量应该是所需数量 X 的一半。
这会返回:
post_text post_type post_date
--------- --------- ---------
lol hai 1 2011-06-24
Fizz Buzz 2 2011-06-23
【讨论】: