我搜索並得到10條記錄作爲result.I有兩個下拉框。一個將有月份作爲價值,另一個將有年份作爲價值。這些10條記錄有同一年和5月有jan和其他五個月的月份爲feb。mysql選擇查詢
當用戶點擊feb然後五個id將被傳遞給我的查詢,但我需要拉下來的年輕document.2文檔被插入feb 5和其他10 10 feb和剩餘一個25feb.i需要拉這25日feb文件。
如何使用select語句選擇這個?
我搜索並得到10條記錄作爲result.I有兩個下拉框。一個將有月份作爲價值,另一個將有年份作爲價值。這些10條記錄有同一年和5月有jan和其他五個月的月份爲feb。mysql選擇查詢
當用戶點擊feb然後五個id將被傳遞給我的查詢,但我需要拉下來的年輕document.2文檔被插入feb 5和其他10 10 feb和剩餘一個25feb.i需要拉這25日feb文件。
如何使用select語句選擇這個?
想必你有你的數據庫中的一些date_inserted列 - 如果是這樣,你可以添加
ORDER BY date_inserted DESC LIMIT 1
這將使他們在反向日期順序,並LIMIT 1
將導致它僅返回1個結果
您可以從數據庫中提取的日期和時間,並顯示給用戶他們這樣他就可以選擇正確的文件,否則,你可以解決:
SELECT *
FROM TABLE
WHERE month = 'Feb'
AND year = 2011
AND day = (select max(day) from table where month = 'Feb' and year = 2011)
但我假設了很多資料在這裏,這些相關信息應該幫助我幫助你:
如果他單獨選擇月份,我將如何顯示他。 –
這是一個觀點問題:你如何向不知道想要什麼的人展示一些東西? (哲學:D) 你可以總是假設一個默認的年份:我不知道,2011年或只是使用max(年),因爲你用max(天),正如我告訴過你的,這將有助於瞭解你的表格結構和/或計時字段。 – OverLex
我得到o/p作爲四條記錄,但對於這個查詢,它應該只顯示我的最大日期記錄。我有四列日期月份年,這三個合併yyyy-mm-dd。 –
這應該工作:
SELECT *
FROM `table`
WHERE MONTH(`insert_date`) = 2
AND YEAR(`insert_date`) = 2011
ORDER BY `insert_date` DESC
LIMIT 1;
注:以上假設你在表F有場或存儲創建/插入文檔的日期。請將上述查詢中的insert_date
和table
替換爲各自的列名和表名。
EDITED後此評論「日期存儲日期,月份商店年月店一年」爲
SELECT *
FROM `table`
WHERE `month` = 2
AND `year` = 2011
ORDER BY `year` DESC, `month` DESC, `date` DESC
LIMIT 1;
我認爲在month
列要存儲的數字,1月,2 2月等。然而,如果你存儲的3個字母的月份名,然後,而不是「`month` = 2」請使用此:
MONTH(STR_TO_DATE(`month`, '%b')) = 2
希望這應該工作。
我有日期和年份分開,那麼查詢將如何到來 –
@ user22115:日期的列僅存儲日期還是日期月?我認爲它應該很簡單。假設一個存儲日期月份(例如21/06)和另一個只存在一年(例如2011),那麼查詢可能類似於:SELECT *,STR_TO_DATE(CONCAT(\'insert_datemonth \',' /',\'insert_year \'),'%d /%m /%Y')作爲\'ins_date \'WHERE ... ORDER BY \'ins_date \'DESC ...'。希望它有幫助 – Abhay
Nope.date商店日期,月商店月和年商店年。 –
將sql添加到標籤。 – OverLex
請用適當的例子詳細說明你的問題 –
@Kishan Gajjar:我已經解釋得非常清楚了。你在這裏不明白。 –