因此,我有一個包含author_id外鍵和發佈狀態(布爾型)的帖子表。從表中選擇所有行中具有相同外鍵的所有行的最高ID的所有
我想爲作者(所有具有相同author_id外部標識的那些人)選擇所有最近(最高ID)發佈的帖子。眼下
我可以得到最高的一組外鍵
SELECT * FROM Posts WHERE id = (SELECT MAX(id) FROM Posts WHERE published = 1 AND author_id = 5);
,但是這只是返回給定外鍵的最高ID。我如何編寫這個函數來返回其外鍵組中最高ID的所有帖子?
任何意見表示讚賞。謝謝
編輯:有它標記與SQL服務器和MySQL。這是MySQL。比較遺憾的是
編輯:有些要求清晰 這裏是什麼,我正在尋找一個樣本: id body author_id published 1 Top 10... 1 1 2 Breaking... 1 1 3 New Report.. 3 1 4 Can Sunscreen... 3 1 5 Dow down... 2 1 6 Heart Warming... 2 1 7 Next time... 1 1 8 New study... 3 0
所以我想要做的就是抓住與IDS 4,6的職位和7因爲4是作者3的最近(最高ID),6是作者2的最近期,7是作者1的最近期。我也有發佈的條件,這就是爲什麼我們不抓住8,因爲它是0。
4 Can Sunscreen... 3 1 6 Heart Warming... 2 1 7 Next time... 1 1
已經回答了: 通過添加一個IN而不是= Igor Quirino答案,我認爲以下工作:
SELECT * FROM Posts WHERE id IN(SELECT MAX(id)FROM Posts WHERE published = 1 GROUP BY author_id) ;
謝謝你讓我知道。請問 – Deciple