。我想要做的是從我的數據庫中檢索記錄並顯示所有內容,但條件不是顯示具有相同task_id的所有記錄,而只顯示其中最新的記錄。如何在具有相同task_id的記錄中選擇最新的?從數據庫中檢索記錄沒有相同的ID
回答
你需要像
last_modified TIMESTAMP
所以每一個行插入或更新時,last_modified
列獲取與當前時間戳更新一列。然後,你需要的是像
SELECT *
FROM tblTask
WHERE task_id = n
ORDER BY last_modified DESC
LIMIT 5
將從給定task_id
數據庫中讀取最新更新5個任務的查詢。刪除WHERE
子句以獲取最新任務,而不管task_id
。
注:在TIMESTAMP
數據類型是特殊的,在這個意義上,MySQL將自動更新域,默認情況下,爲當前的時間戳,除非值是在插入或更新查詢明確定義。如果不需要此行爲,請使用DATETIME
,但它需要您爲新列指定列值(除非表中設置了默認值)
如果您有一個日期字段(實際上是時間戳)在你的數據庫ü可以使用group by
和order by
做的工作:
SELECT * FROM TBL GROUP BY task_id ORDER BY date DESC
上述查詢不會給出正確的結果,因爲GROUP BY將始終選擇第一個不一定是最新的task_id記錄。例如,假設表中包含以下條目: task_id |時間\ n 1 | 2011-06-16 11:05:10 2 | 2011-06-16 12:11:46 1 | 2011-06-16 12:50:29 現在,GROUP BY後的結果爲: 1 | 2011-06-16 11:05:10 2 | 2011-06-16 12:11:46 即使在ORDER BY之後,它也不會給你想要的結果,因爲它只會對上面的記錄進行排序。但需要的是「2011-06-16 12:5-0:29」for task_id = 1 – Abhay 2011-06-16 13:10:58
對不起,我上面的評論混亂,但我無法幫助格式化 – Abhay 2011-06-16 13:34:42
對於MySQL TIMESTAMP這是很好的做法,指定默認和更新操作
last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
@rahim阿斯卡里
如果你想只列出有一個以上的記錄,然後
SELECT * FROM TBL GROUP BY HAVING TASK_ID計數的任務(TASK_ID)> 1個ORDER BY日期DESC
這是您的解決方案:
SELECT *
FROM
(
SELECT *
FROM `your_table`
ORDER BY `task_time` DESC
) `TT`
GROUP BY `TT`.`task_id`;
請注意,在上面的查詢與你的表名和task_id
,task_time
與各自的ID和時間列改變,your_table
。
另外,請注意,如果表中有許多條目,比如說一百萬行,上述查詢可能運行緩慢。
讓我知道如果上面是你願意問的查詢。
- 1. 從mysql數據庫中檢索記錄
- 2. 有效記錄沒有檢索數據
- 3. 搜索記錄並從數據庫中檢索它
- 4. 數據庫中有不同記錄時返回相同的記錄?
- 5. 如何檢測具有相同記錄數的ID範圍
- 6. 從一張表中檢索四列中三列數據相同的記錄?
- 7. 如何搜索數據庫中是否有相同的ID?
- 8. 檢索從MySQL具有對特定列相同值的記錄
- 9. 根據當地時間從數據庫中檢索記錄
- 10. JMSSerializer:使用ID從數據庫中檢索相關對象
- 11. 如果在數據庫中添加新記錄,從數據庫檢索數據
- 12. 從C#中的數據庫檢索記錄
- 13. 從QTP中的Oracle數據庫檢索XML類型記錄
- 14. PHP連接數據庫:檢索記錄
- 15. 從SQL數據庫包含相同的ID作爲.NET數據表記錄如何選擇記錄
- 16. 從數據庫中檢索登錄後
- 17. 從數據庫中檢索「相同」的複雜對象
- 18. 即使重複也在ID IN查詢中檢索相同數量的記錄
- 19. 使用select選項標記從Java數據庫檢索記錄
- 20. 從數據庫的索引列中檢索索引ID很慢
- 21. 如何檢索只有3imagepaths或id從數據庫中的iPhone
- 22. 從數據庫中顯示具有相同ID的條目
- 23. HTML5SQL使用SELECT語句從Web數據庫中檢索記錄
- 24. 從數據庫中檢索一百萬條記錄
- 25. 從數據庫中檢索第10000條記錄 - grails
- 26. 從數據庫中檢索隨機記錄
- 27. 從數據庫中檢索一個記錄
- 28. c# - 獨立更新具有相同ID的ms-access數據庫記錄
- 29. 試圖從數據庫檢索由相同的ID幾個元素
- 30. 從數據透視表中檢索與所有結果相匹配的記錄
請分享您的表格定義,它可以幫助我們給您一個查詢或指向一個正確的方向。另外,給我們什麼你也嘗試過。 – 2011-06-16 04:41:14