。我想要做的是从我的数据库中检索记录并显示所有内容,但条件不是显示具有相同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. 有效记录没有检索数据
- 2. 如何搜索数据库中是否有相同的ID?
- 3. 根据当地时间从数据库中检索记录
- 4. JMSSerializer:使用ID从数据库中检索相关对象
- 5. 如果在数据库中添加新记录,从数据库检索数据
- 6. 从C#中的数据库检索记录
- 7. 从SQL数据库包含相同的ID作为.NET数据表记录如何选择记录
- 8. 从数据库中检索登录后
- 9. 即使重复也在ID IN查询中检索相同数量的记录
- 10. 从数据库中检索“相同”的复杂对象
- 11. 从数据库中显示具有相同ID的条目
- 12. 从数据库中检索随机记录
- 13. 从数据库中检索第10000条记录 - grails
- 14. 从数据库中检索一百万条记录
- 15. HTML5SQL使用SELECT语句从Web数据库中检索记录
- 16. c# - 独立更新具有相同ID的ms-access数据库记录
- 17. 试图从数据库检索由相同的ID几个元素
- 18. 游标没有从sqlite数据库中检索数据
- 19. 应用程序没有从firebase数据库中检索数据
- 20. 如何从服务器数据库检索记录到本地数据库中
- 21. 记录没有从SQL查询中的数据库中提取
- 22. 检测一个新的记录是相同的数据库中的现有记录
- 23. 检索顶部从数据库48唯一的记录
- 24. Laravel:从数据库检索未分配的记录
- 25. 从数据库检索大量的记录
- 26. 如何从Ruby中的伯克利数据库检索所有记录
- 27. Rails/Postgres数据库 - 无法从数据库检索正确的记录
- 28. 从多个数据库搜索记录
- 29. 有没有可能有一个ListView的项目ID是从远程数据库中的ID相同?
- 30. 更新数据库时,所有记录更新为相同的值记录
请分享您的表格定义,它可以帮助我们给您一个查询或指向一个正确的方向。另外,给我们什么你也尝试过。 – 2011-06-16 04:41:14