Php 已解决-按A…Z,AA排序
我也有类似的情况。尽管有很多测试,我发现和Haleemur Ali一样,我的问题是我需要按降序排序,我没有+或- 我发现和这篇文章的结果一样,但我不想那样 在我的数据库(MariaDB)的一列中可以找到这一系列信件 我将在我的示例中找到的最后一个值递增一,我应该找到AAC+1=AAD 我使用PHP和Laravel 谢谢你的帮助Php 已解决-按A…Z,AA排序,php,mysql,laravel,Php,Mysql,Laravel,我也有类似的情况。尽管有很多测试,我发现和Haleemur Ali一样,我的问题是我需要按降序排序,我没有+或- 我发现和这篇文章的结果一样,但我不想那样 在我的数据库(MariaDB)的一列中可以找到这一系列信件 我将在我的示例中找到的最后一个值递增一,我应该找到AAC+1=AAD 我使用PHP和Laravel 谢谢你的帮助 olivier允许我把我的请求写得更加优雅,如果可以的话,我会把它贴在这里 $lastL = \App\Models\MyTable::select('letter'
olivier允许我把我的请求写得更加优雅,如果可以的话,我会把它贴在这里
$lastL = \App\Models\MyTable::select('letter')
->whereNotNull('letter')
->orderByRaw("length(letter) DESC, letter DESC")
->first();
if(is_null($lastL->letter)){
return 'A';
}else{
$letter = ++$lastL->letter;
return $letter;
}
请看SQL小提琴。我很困惑。您引用了另一个有多个答案的问题,其中一个答案已被接受,并声明您有相同的问题。答案中给出的解决方案难道不能解决你的问题吗?如果没有,请说明如何进行。因为我不知道你的问题具体是什么。我不好,这将是这个解决方案,但在这项工作中(在一定程度上);应用程序代码中的逻辑必须相同(尽管语法不同)
SELECT UNHEX(HEX('AAC')+1)代码>这是否回答了您的问题?非常感谢你,我刚刚从这篇文章中找到了一个不那么优雅的解决方案,如果它对其他人有帮助,我会在报告下面发布修改
$lastL = \App\Models\MyTable::select('letter')
->whereNotNull('letter')
->orderByRaw("length(letter) DESC, letter DESC")
->first();
if(is_null($lastL->letter)){
return 'A';
}else{
$letter = ++$lastL->letter;
return $letter;
}
SELECT * FROM table
ORDER BY LENGTH(value) DESC, value DESC