[英]Select only one row from table with the highest datetime value
我有一個看起來與此類似的表:
images
image_id int
user_id int
datetime datetime
因此,我只需要得到一個結果。 此結果應具有特定的user_id,並且應僅是表中的最新行。
我已經檢查了許多類似的問題,但無法理解該怎么做,我發現的代碼根本不起作用。
我該如何實現?
這是一個開始查詢:
SELECT *
FROM image
WHERE user_id = :user_id
如何更改此查詢以僅選擇具有特定user_id的最新行?
您可以像這樣使用order by子句:
SELECT *
FROM image
WHERE user_id = :user_id ORDER BY datetime DESC LIMIT 1
對於SQL Server,您可以使用:
SELECT TOP(1) *
FROM image
WHERE user_id = :user_id
ORDER BY datetime DESC
對於MySQL,請嘗試以下操作:
選擇*從圖像
在哪里user_id =:user_id
ORDER BY日期時間DESC 限制1
limit
將適用於MySQL
有關MySql語句的更多信息,請參見: http : //dev.mysql.com/doc/refman/5.0/en/sql-syntax.html
從其中User_id =:User_id的圖像中選擇*,按日期時間DESC限制1
希望它能工作:)
通過使用限制,您可以獲得所需數據的數量
limit required_no.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.