簡體   English   中英

從表中僅選擇日期時間值最高的一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM