SQL选择一个不为零的列值,如果有多个值来选择最后一个值

时间:2014-08-06 15:26:01

标签: mysql sql

我有一个包含两列名为NAME和NUMB的表。

NAME   NUMB
John   0
Sam    0
Tom    1
Bob    0
Tom    0
Ryu    2
Ken    0

我想使用一些SQL来选择该表中最后的数字,该数字不是零。所以我的结果应该显示为" 2"。如果2为零,那么我的结果将是" 1"。什么是最好的方式。谢谢!

2 个答案:

答案 0 :(得分:0)

过滤0值,按数字降序排列并取第一行。

SELECT numb
FROM myTable
WHERE num != 0
ORDER BY numb DESC
LIMIT 1

当然我觉得你想要列中最大的值,因为mysql中没有“最后一行”。

答案 1 :(得分:0)

没有"最后" SQL中的数据集。无序集是核心原则之一......

解决方法可能是添加另一列,每列插入行自动递增。这样您就可以查询Max(auto_increment_row)并获取上次插入的数据集。

当然,如果该值为0,您需要额外检查,如果是,则需要采取相应措施。有多种方法,如果您对所尝试的SQL查询有任何具体问题,请回复我们。