2017-08-28 78 views
-1

我想按多列排序order by length。我的代码适用于一列,但它不适用于多列。按列长度的SQL顺序多列

这是工作

$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"); 
+0

_demo1_和_demo2_之间的区别是什么? – Sami

+0

您是否收到错误或结果不符合预期? –

回答

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

结果第一列,那么第二个命令,依此类推尽可能多列作为ORDER BY子句包括在内。如果您希望以降序排列任何结果,则您的ORDER BY子句必须在相关列的名称或编号后面直接使用DESC关键字。 如果你还没有正确理解...和 在投票之前我的答案...我可以看到你的表结果吗?