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關鍵字。 如果你還沒有正確理解...和 在投票之前我的答案...我可以看到你的表結果嗎?