如何在php中按字典顺序对列进行排序?

时间:2018-10-24 00:49:26

标签: php mysql sql sorting sql-order-by

我正在一个网站上,我要根据 customer_name(这是表格的第一列)进行排序。.

以下是我在php代码中的查询:

.....
.....
$y = isset($filters['items']['yaxis']) ? $filters['items']['yaxis'] : null;
$x = isset($filters['items']['xaxis']) ? $filters['items']['xaxis'] : null;

switch ($y) {
    case 'customer_name':
        $query->order( columns: $y . ' ' . (strtoupper($x) == 'DESC' ? 'DESC' : 'ASC'));    
        break;
}

问题陈述

我想知道我应该在上面的SQL查询中进行哪些更改,以便它仅基于customer_name对所有内容进行排序,但是排序应遵循以下逻辑:

let arr = [
  '1 Hello',
  '2 Hello',
  '3 Hello',
  '4 Hello',
  ';1',
  'z',
  '%1',
  '110 Hello',
  '100 Hello',
  'a',
  'Z',
  '00',
  '21 Hello',
  '9  Hello',
  '13 Hello',
  '10000 Hello',
  '0 Hello',
  'A'
  ];


arr.sort( (a, b) => {
  return a.localeCompare(b, 'en', {
    numeric: true
  })
} ).forEach( ml => { console.log(ml) });

上面的Javascript正在打印以下o / p:

;1
%1
00
0 Hello
1 Hello
2 Hello
3 Hello
4 Hello
9  Hello
13 Hello
21 Hello
100 Hello
110 Hello
10000 Hello
a
A
z
Z
=> undefined

因此,我想对上述php文件中customer_name上的所有数据进行排序,但按照字典的顺序进行排序,就像上面的javascript一样。

0 个答案:

没有答案