[SQL ] 請教 SQL 語法關於 group by

看板Database作者 (SUOMAX)時間7年前 (2016/11/15 17:45), 7年前編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/2 (看更多)
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱: Sqlite 資料庫版本: 3.x (Android) 內容/問題描述: 請教各位 SQL 前輩, 我有一個資料表的結構是這樣 _ID FIRST_NAME LAST_NAME TYPE TIME 1 Mark Zuckerberg 1 10000 2 Larry Page 1 10001 3 Jeff Weiner 1 10002 4 Elon Musk 2 10003 5 Lary Page 2 10004 6 Mark Zuckerberg 100 10005 7 Elon Musk 1 10006 8 Mark Zuckerberg 2 10007 9 Larry Page 100 10008 希望的查詢結果: 1. 讓記錄中有出現 TYPE=100 的排在最前面, 再按照 TIME 排序 2. 排除 TYPE=100, 每個 FIRST_NAME,LAST_NAME 只出現一次 例: _ID FIRST_NAME LAST_NAME TYPE TIME 5 Larry Page 2 10003 // #9 type=100, time=10008 8 Mark Zuckerberg 2 10007 // #6 type=100, time=10004 7 Elon Musk 1 10006 // #6 time=10006 3 Jeff Weiner 1 10002 // #3 time=10002 希望達到的目的是 type=100 當做某種特殊記錄, 讓某個人置頂 同時也因為他只當做特殊符號, 所以不顯示在最後列出的結果中 像這樣的用法,有可能做到嗎? 有可能用一行 query 做到嗎? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.222.160.128 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1479203111.A.177.html

11/15 17:51, , 1F
好難想像這在幹嘛的, 可以說說看實際應用的案例嗎,或許會
11/15 17:51, 1F

11/15 17:51, , 2F
更容易想出什麼建議之類的東西
11/15 17:51, 2F
感謝回應 這個表格可以想像成 user (first_name, last_name) 的貼文, type 1, 2... (<100) 可以想像成是特定的板塊 現在是希望列出最近發言過的 user 的最新一則貼文 卻又希望可以直接把某些 user 在這個列表裡置頂 有某些限制, 希望可以不開新 table 實現出來... SQL 苦手啊... orz ※ 編輯: suomax (61.222.160.128), 11/15/2016 18:04:17

11/15 18:09, , 3F
OK,延續你的說法,TYPE=100應該是手動新增的吧?
11/15 18:09, 3F

11/15 18:10, , 4F
這table是貼文記錄,這樣不會影響到整個table資料的意義嗎
11/15 18:10, 4F

11/15 18:20, , 5F
您說的有道理,每次查表格還要刻意避開特殊記錄是蠻噁心的
11/15 18:20, 5F

11/15 18:20, , 6F
我想想有沒有其他方式
11/15 18:20, 6F

11/15 18:24, , 7F
目前只想到用另一個table記錄需要優先排序的人..orz
11/15 18:24, 7F

03/21 22:13, , 8F
type =100 union type <> 100
03/21 22:13, 8F
文章代碼(AID): #1OAjad5t (Database)
文章代碼(AID): #1OAjad5t (Database)