在没有自动增量的情况下选择mysql中的最后一行

时间:2014-03-29 19:56:04

标签: mysql

我正在尝试创建临时日志记录数据库。仍处于学习水平。

如何从数据库中获取最后一行?

select * from tempdat order by tdate desc limit 1 

给出当天的第一个条目,但我想要最后一个。如下所示,它可以返回条目时间21:25:03

+------------+----------+------+-------------+
| 2014-03-29 | 21:20:02 | inne |      22.875 |
| 2014-03-29 | 21:25:03 | inne |      22.875 |
+------------+----------+------+-------------+
1933 rows in set (0.16 sec)

mysql> select * from tempdat order by tdate desc limit 1;

+------------+----------+------+-------------+
| tdate      | ttime    | zone | temperature |
+------------+----------+------+-------------+
| 2014-03-29 | 00:00:03 | inne |      21.250 |
+------------+----------+------+-------------+
1 row in set (0.03 sec)

1 个答案:

答案 0 :(得分:0)

只需使用两个条件进行排序:首先是tdate,然后是ttime。例如:

    SELECT * 
      FROM tempdat 
  ORDER BY tdate DESC, ttime DESC 
     LIMIT 1;

请注意,应在每列使用后指定订单方向。 ORDER BY tdate, ttime DESC将首先按tdate ASC排序所有记录。