知道最后的X字段值

时间:2015-03-09 17:58:17

标签: php mysql

我有一个包含此表的数据库

+------+---------------------+-------------+
| id   | key                 |    value    |
+------+---------------------+-------------+
|  152 | incidencia_0_fecha  |  20150306   |
|  158 | incidencia_1_fecha  |  20150307   | 
|  234 | incidencia_2_fecha  |  20150309   |
|  .   | ......              |  ........   |
|  n   | incidencia_N_fecha  |  date_value |
+------+---------------------+-------------+

而且我想知道最后一把钥匙是什么(N它的恐龙,我不知道他的最后一个价值)。在此表中,最后一个必须是incidencia_2_fecha

我该怎么做?

由于

3 个答案:

答案 0 :(得分:0)

您可以使用两个REPLACES轻松获取字符串中的数字。

SELECT MAX(
         REPLACE(REPLACE(`key`, 'incidencia_', ''), '_fecha', '')
       )
  FROM mytable

答案 1 :(得分:0)

如果id列中的值严格增加,则可以执行以下操作:

SELECT key FROM your_table WHERE id = (SELECT MAX(id) FROM your_table);

编辑1: 如果表非常大,则应确保id列上有索引。否则查询可能需要很长时间才能运行。

编辑2: 另一个选项,如果值列包含插入记录(并被索引)时的日期,则将执行上述查询,但将id替换为value,即

SELECT key FROM your_table WHERE value = (SELECT MAX(value) FROM your_table);

答案 2 :(得分:0)

首次在desc中获取记录

来自tbl_name的SELECT键ORDER BY id DESC LIMIT 0,1