亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PostgreSQL按DateTime ASC排序,首先為NULL?

PostgreSQL按DateTime ASC排序,首先為NULL?

長風秋雁 2019-06-17 14:42:16
PostgreSQL按DateTime ASC排序,首先為NULL?我需要按日期/時間字段對PostgreSQL表進行排序。last_updated.但是允許該字段為空或空,我希望記錄中包含空。last_updated來以前非零last_updated.這個是可能的嗎?order by last_updated asc /* and null last_updated records first ?? */
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

Postgres提供NULLS FIRST | LAST關鍵字ORDER BY為滿足這一需要而制定的條款如下:

... ORDER BY last_updated NULLS FIRST

典型用例具有降序排序(DESC),這將產生默認升序的完全反轉(ASC),首先使用空值。因此,保留空值通常是不可取的:

... ORDER BY last_updated DESC NULLS LAST

控件支持查詢。指數,使之匹配:

CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);

Postgres可以向后讀取btree索引,但在哪里追加NULL值很重要。


查看完整回答
反對 回復 2019-06-17
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

可以使用case語句創建自定義順序。
case語句檢查您的條件,并為滿足該條件的行分配值低于分配給不滿足條件的行的值。
舉個例子,這可能是最容易理解的:

  SELECT last_updated 
    FROM your_table 
ORDER BY CASE WHEN last_updated IS NULL THEN 0 ELSE 1 END, 
         last_updated ASC;


查看完整回答
反對 回復 2019-06-17
  • 2 回答
  • 0 關注
  • 1083 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號