2010-04-22 83 views
5

如何获取最新日期的所有记录。在我的数据库提交的日期被称为recordEntryDate正是在这种形式2010-01-26 13:28:35获取最新时间戳的记录mysql

郎咸平:PHP DB:mysql的

+0

你有'recordEntryDate'上的索引吗? – 2010-04-22 18:39:44

回答

8

你可以这样做:

SELECT * 
FROM table1 
WHERE DATE(recordEntryDate) = (
    SELECT MAX(DATE(recordEntryDate)) 
    FROM table1 
) 

请注意,此查询将无法利用recordEntryDate上的索引。如果你有很多行的这种类似的查询可能是你更快:

SELECT * 
FROM table1 
WHERE recordEntryDate >= (
    SELECT DATE(MAX(recordEntryDate)) 
    FROM table1 
) 
+0

这样做,但它不工作 选择 \t \t \t \t \t表。*, \t \t \t \t \t u.initials AS initals \t \t \t \t \t FROM \t \t \t \t \t \t database1.mytable如表 \t \t \t \t \t JOIN \t \t \t \t \t \t database.user为u \t \t \t \t \t ON \t \t \t \t \t \t u.userID = table.userid \t \t \t \t \t WHERE \t \t \t \t \t \t ID = 12548 \t \t \t \t \t \t \t \t \t \t AND \t \t \t \t \t \t recordEntryDate =(SELECT MAX(DATE(从{database1.myrable recordEntryDate)))“; – Autolycus 2010-04-22 18:43:23

0

或者,如果你想今天的结果

SELECT * 
FROM table 
WHERE recordEntryDate > DATE(NOW()) 
2
SELECT * 
FROM table1 
WHERE DATE(recordEntryDate) = ( 
    SELECT MAX((recordEntryDate)) 
    FROM table1 
) 

也没必要DATE那里。