这是我的代码后的第一次(可以对其进行编辑):如何选择使用MySQL的
SELECT * FROM posts WHERE posts.user_id = 1 OR posts.user_id = 2
如何选择用户1和2中的第一篇文章?
这是我的代码后的第一次(可以对其进行编辑):如何选择使用MySQL的
SELECT * FROM posts WHERE posts.user_id = 1 OR posts.user_id = 2
如何选择用户1和2中的第一篇文章?
select user_id, min(post_id) as FirstPostID
from posts
where user_id in (1, 2)
group by user_id
SELECT user_id, MIN(post_id)
FROM posts
WHERE user_id IN (1, 2)
GROUP BY user_id
SELECT user_id, post_id
FROM posts
GROUP BY user_id
ORDER BY post_id asc;
上面的查询会给你所有的第一篇文章的所有用户。与以前的解决方案略有不同。
是的,但它本质上是做同样的事情,接受的答案。一般来说,最好避免复活旧线程,除非响应在以前的答案中添加了重要的内容。 – Leigh 2012-04-06 17:38:03
现有的答案可以得到改善,因为它们不匹配的问题:
“选择用户1和2中的第一篇文章”
只选择ID后需要您发出第二查询获取发布数据。
这避免了第二次查询发行获得那个职位数据:
SELECT * FROM posts WHERE ID in (
select min(id)
from posts
where user_id in (1,2)
);
即使你只是想ID; group by子句也是不必要的:
select min(id)
from posts
where user_id in (1,2)
@RedFilter:不应该'group by'来到底? – Sarfraz 2010-11-08 17:11:52
@Sarfraz你吧:) – faressoft 2010-11-08 17:13:12
什么是“分”吗? – faressoft 2010-11-08 17:13:45