gpt4 book ai didi

Mysql查询小知识

转载 作者:可可西里 更新时间:2023-11-01 07:49:56 25 4
gpt4 key购买 nike

更新:请假设,我的版本号 x.x.x.x 中正好有 4 个元素

Table xyz (id int, os varchar, version varchar)

id os version
1 mac 1.0.0.4
2 android 1.0.1.2
3 mac 1.0.0.14
4 mac 1.0.0.07

我想找出每个操作系统的最大版本号。

select max(version), os from xyz group by os

但在上面的数据示例中,它返回的是 1.0.0.4 作为 mac 的最高版本,而不是返回 1.0.0.14。有什么办法可以修复上述查询吗?我知道版本是 varchar :( 如果没有可能的解决方案,那么我可以将数据类型更改为其他,但这仍然不能解决问题。

最佳答案

如果版本中的4个部分都是数字且不大于255,可以使用 INET_ATON() 函数及其反向 INET_NTOA():

SELECT INET_NTOA(MAX(INET_ATON(version))), os 
FROM xyz
GROUP BY os ;

SQL-Fiddle 中测试

关于Mysql查询小知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com