我有一个包含两列名为NAME和NUMB的表。
NAME NUMB
John 0
Sam 0
Tom 1
Bob 0
Tom 0
Ryu 2
Ken 0
我想使用一些SQL来选择该表中最后的数字,该数字不是零。所以我的结果应该显示为" 2"。如果2为零,那么我的结果将是" 1"。什么是最好的方式。谢谢!
答案 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查询有任何具体问题,请回复我们。