2016-11-21 39 views
0

好吧,有點複雜的查詢,無論如何。MYSQL:如何檢索所有表格行+只有最後一行列等於

我試圖建立一個MySQL查詢檢索所有從數據庫中的行,但我只希望最後一排,其中列「主題」等於「本週」。

所以,我的意思是這樣的:

我有我的所有博客文章,數據表。每週我都會寫上一週的航空新聞摘要。我現在想要顯示索引頁面上的所有博客文章,但我也只想顯示最後的「本週」文章。

這是我現在用它來檢索所有行的查詢:

SELECT * FROM articles WHERE published = '1' ORDER BY date_time DESC LIMIT 10 

所以,我需要從我的表「文章」 +只有最後一排,其中「主題」返回所有行的查詢= '本星期'。

任何人誰可以幫助我?

+1

更多effiecient只是做2個查詢..其中每個只選擇所需要的..避免選擇*如果可能的話,第一個QRY可能看起來像 選擇標題,pubdate的,筆者從表發佈後的='1' 2日可能看起來像(使用*因爲我們只需要1條記錄) 'select * from table order by ID desc limit 1' –

回答

1

你可以使用聯盟(像這樣

SELECT * FROM articles WHERE published = '1' ORDER BY date_time DESC LIMIT 10 
UNION 
SELECT * FROM articles WHERE WHERE topic="This Week" order by ID desc LIMIT 1 

你可以使用UNION或UNION ALL哪個適合您需要

你可能想檢查實際的查詢,並格式化按您的需求

+0

感謝您的回答,這確實是一個好主意!但是由於我使用分頁,我需要限制我的查詢,如下所示:'LIMIT $ position,$ item_per_page'。我將如何去限制整個聯合查詢?我無法讓它工作。 –

相關問題