gpt4 book ai didi

mysql - 根据修改的列对 Mysql 结果进行排序

转载 作者:行者123 更新时间:2023-11-29 09:11:55 25 4
gpt4 key购买 nike

我有一个 mysql 查询,它输出 6 列相关数据,我特别感兴趣的是让结果按某个修改列按字母顺序排序。该列的未修改结果如下所示:

... | 0001: Some text here        |...
... | 0002: Flipped text here |...
... | 0003: About some more text |...

不应显示“0001:”部分。目前,我有一个 Perl 子例程,它会删除该部分的显示,但我不知道如何根据结果列按字母顺序排序所有行。我正在寻找的是:

... | About some more text  |...
... | Flipped text here |...
... | Some text here |...

以下是我用来检索和显示所述数据的内容,但我对 Perl 的理解非常缺乏。我不明白 @$data 是如何工作的,只知道它是这样的。我失败的排序尝试由 # 注释掉。

$data = $sth->fetchall_arrayref();
$sth->finish;

foreach $data ( @$data) {
($a, $name, $c, $d, $e, $f) = @$data;
# @$data = sort { "\L$a->out_name([2])" cmp "\L$b->out_name([2])"} @$data;
$Response->Write($a.",".out_name($name).",".$c.",".$d.",".$e.",".$f."<br />");
}

任何帮助或想法将不胜感激,谢谢。

编辑:我没有注意到,“0001:”部分可能显示为“511:”或“85000:”,该数字不是恒定长度。如果Mysql中有一种方法可以处理这种情况,那就太好了。在我的搜索中这似乎不太可能,因此我尝试使用 Perl。

最佳答案

您可以让数据库为您进行排序:

SELECT ...
FROM yourtable
ORDER BY SUBSTR(yourcolumn, 5)

关于mysql - 根据修改的列对 Mysql 结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5356624/

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