【问题标题】:Find the max value in the last digit找到最后一位的最大值
【发布时间】:2020-09-24 05:02:08
【问题描述】:

我正在使用 MySQL 5.5。我遇到了如何找到最后一位的最大值的问题。

例如下面的表格,我想获取检测到最后一位的最大值。结果应该是100-1-15

Table name: abc
+----+------------+
| id | code       |
+----+------------+    
| 1  |   100-1-1  |
| 2  |   100-1-2  |
| 3  |   100-1-15 |
| 4  |   100-1-6  |
| 5  |   100-1-3  |
| 6  |   100-1-5  |
| 7  |   100-1-9  |
+----+------------+

我正在使用下面的 SQL 查询,但不起作用:

SELECT id,max(code) FROM abc;

希望有人可以指导我如何解决它并且可以获得最大代码是100-1-15。谢谢。

【问题讨论】:

  • 所有code 值是否都具有相同的前缀'100-1-' 并且仅在最后一组不同?如果没有,则显示一个具有不同前缀和所需输出的示例。
  • 不一样。我只想抓住最后一个数字

标签: mysql sql


【解决方案1】:
SELECT *
from abc
order by SUBSTRING_INDEX(code, '-', -1) + 0 desc
limit 1

【讨论】:

【解决方案2】:

试试

Select 
   id,
   code
from abc
order by max(CAST(SUBSTR(code, 7, LENGTH(code)-6) AS SIGNED)) 
limit 1;

【讨论】:

    猜你喜欢
    • 2012-06-21
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    相关资源
    最近更新 更多