SQL按多个列的长度顺序排列

时间:2017-08-28 09:58:24

标签: php mysql sql

我想在多列中按order by length排序。我的代码适用于一列,但它不适用于多列。

这是有效的

$query = $wpdb->get_results("SELECT id,demo1,demo2 FROM $table_name ORDER BY LENGTH(demo1) DESC");

它不能正常工作

$query = $wpdb->get_results("SELECT id,demo1,demo2 FROM $table_name ORDER BY LENGTH(demo1),LENGTH(demo2) DESC");

2 个答案:

答案 0 :(得分:3)

ORDER BY LENGTH(demo1), demo1 DESC,
         LENGTH(demo2), demo2 DESC

答案 1 :(得分:0)

结果按第一列排序,然后是第二列,依此类推,因为ORDER BY子句包含的列数。如果希望任何结果按降序排序,则ORDER BY子句必须在相关列的名称或编号后面直接使用DESC关键字。 如果你没有正确理解......并且 在投票给我答案之前......我能看到你的表格结果吗?