查询使用混合字符串和int选择max

时间:2017-10-16 05:02:41

标签: mysql select max mixed

我有一个表,其中包含生成代码的列,数据类型为VARCHAR,其中包含混合字符串/ int值:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="TomiasPortrait" class="col charPortait" value="Tomias">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed 
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>

问题:

1。如何获取包含Table demo ID code ============== 1 | 001qwe 2 | 002qwe 3 | 001asd qwe的最大值,我希望将其用作过滤器。

2。如何获取包含最大值

的行的id

我想要类似的东西:

asd

1 个答案:

答案 0 :(得分:1)

  

是的,这种情况下代码长度为6,数字开头的数字是3位数

考虑到上述情况,您可以按以下方式编写查询

select *,left(`code`,3)
from demo
order by left(`code`,3) * 1 desc
limit 1

DEMO

获取您可以使用的个人结果

SELECT a.id qweid, a.code qwecode,b.id asdid,b.code asdcode
FROM 
(SELECT id,`code`
FROM demo
WHERE RIGHT(`code`,3) = 'qwe'
ORDER BY LEFT(`code`,3) * 1 DESC
LIMIT 1) a
CROSS JOIN(SELECT id,`code`
FROM demo
WHERE RIGHT(`code`,3) = 'asd'
ORDER BY LEFT(`code`,3) * 1 DESC
LIMIT 1) b

DEMO