簡體   English   中英

MYSQL Null和空值排序

[英]MYSQL Null and empty values sorting

我有一個名為users的表,有些列的空值為user_countryuser_state_user_cityuser_areauser_pincode

我想按count對空值排序。

例如 :

user_id user_country user_state user_city user_area user_pincode
  1       1            1           1         1         1              - all values
  2       1            1           1                   2              - 1 empty or null
  3       1                                            1              - 3 empty or null
  4       1            1           1                                  - 2 empty or null
  5       1                                                           - 4 empty or null

它應該如下排序:期望輸出

user_id user_country user_state user_city user_area user_pincode
  2       1            1           1                   1            - 1 empty or null
  4       1            1           1                                - 2 empty or null
  3       1                                            1            - 3 empty or null
  5       1                                                         - 4 empty or null
  1       1            1           1         1         1            - all values

我的代碼:

$where1 = "user_country IS NOT NULL  AND user_state IS NOT NULL AND user_city IS NOT NULL AND user_area_name IS NOT NULL AND user_area_pincode IS NOT NULL  AND user_country!='' AND user_state!='' AND user_city!='' AND user_area_name!='' AND user_area_pincode!=''";
                $this->db->where($where1);
$order = "user_city IS NOT NULL";
$this->db->order_by($order,'desc');

您可以使用此查詢:

SELECT yourtable.*
FROM yourtable
ORDER BY
  CONCAT(user_country,user_state,user_city,user_area,user_pincode) IS NOT NULL,
  (user_country IS NULL) +
  (user_state IS NULL) +
  (user_city IS NULL) +
  (user_area IS NULL) +
  (user_pincode IS NULL)

請看這里的小提琴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM