我有一个表格用于帖子,我在一个字段中保存每个帖子的类型。可以说我有两种类型 - “type1”和“type2”。我需要从该表中检索最新的x帖子,其中x / 2帖子来自“type1”而另一半来自“type2”。如何使用一个mysql查询?
答案 0 :(得分:0)
好的,你的桌子是这样的:
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