php - 如何从mysql记录中获取最后一个值

标签 php mysql

我是 php 初学者,请帮助我..

我有如下的mysql记录

id   name     value_1   value_2
 1   rakesh   100      50
 2   david    150      10
 3   richard   0       0
 4   michael   0       0  

我想要最后一条记录 value_1 做一些数学运算 但是如果最后一条记录 value_1==0 意味着我想去获取上层 value_1 (value_1=150)

我使用波纹管代码但我只得到最后一个值

$get=mysql_query("SELECT MAX(id) FROM table_name ");
$got = mysql_fetch_array($get);
$next_id = $got['MAX(id)'];

这里得到3d richard value_1==0 但我想要第二个 david value_1 150

请帮我提前谢谢...

最佳答案

你的查询给你最后一行,因为你总是选择最大的 id。

尝试一下:

SELECT * FROM table_name WHERE value_1 > 0 ORDER BY value_1 DESC LIMIT 1
  • 它将选择整行,因此您无需进行额外的查询。
  • WHERE value_1 > 0 将只选择 value_1 大于 0 的行。它假设存在这样的记录。如果这不是你的情况,请告诉我。
  • ORDER BY value_1 DESC 告诉查询按 value_1 降序排列行,因此所需的行将位于顶部。
  • LIMIT 1 仅选择第一行。

关于php - 如何从mysql记录中获取最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15610934/

相关文章:

mysql使用另一个表中的数据更新表

MySQL 查询语句错误

mysql - 仅使用 AWS Cognito + mysql

php - Doctrine 映射字段不起作用

php - 使用在特定时间后运行的参数设置 cron,然后使用 php 执行完成后删除该 cron 作业

php - MySQL语句如果数字小于php变量

php - VoicePHP 录制音频文件

php - 使用仅用于计数的 where 子句获取不同行及其记录计数

mysql - 包括 NULL 月份

mysql - 使用 MySQL 进行 SQL 查询