這是我的代碼後的第一次(可以對其進行編輯):如何選擇使用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