gpt4 book ai didi

php - 如何对数据进行双向排序?

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

我需要根据值的“距离”对表进行排序。


例如:在数据库中:

1
2
3
4
5
6


我需要什么(对于某些 n 值):
如果 n = 3:

3
2
4
1
5
6


如果 n = 5:

5
4
6
3
2
1

最佳答案

两个值之间的距离可以定义为这些值之间差值的绝对值。

因此,如果您的专栏被称为例如,你可以使用ABS()功能如下,例如对于值 3:

SELECT value FROM my_table ORDER BY ABS(3 - value);

这会给你这个结果:

+-------+
| value |
+-------+
| 3 |
| 2 |
| 4 |
| 1 |
| 5 |
| 6 |
+-------+

或者对于值 5:

SELECT value FROM my_table ORDER BY ABS(5 - value);

将产生:

+-------+
| value |
+-------+
| 5 |
| 4 |
| 6 |
| 3 |
| 2 |
| 1 |
+-------+

如果你想在 PHP 中进行排序,你可以这样做:

$a = [1, 2, 3, 4, 5, 6];
$n = 3;
usort($array, function($x, $y) {return(abs($n-$x) - abs($n-$y));});

关于php - 如何对数据进行双向排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42108859/

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