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

作者: suomax (SUOMAX)   2016-11-15 17:45:08
(針對 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 做到嗎?
謝謝!
作者: bohei (run and fall)   2016-11-15 17:51:00
好難想像這在幹嘛的, 可以說說看實際應用的案例嗎,或許會更容易想出什麼建議之類的東西OK,延續你的說法,TYPE=100應該是手動新增的吧?這table是貼文記錄,這樣不會影響到整個table資料的意義嗎
作者: suomax (SUOMAX)   2016-11-15 18:20:00
您說的有道理,每次查表格還要刻意避開特殊記錄是蠻噁心的我想想有沒有其他方式
作者: bohei (run and fall)   2016-11-15 18:24:00
目前只想到用另一個table記錄需要優先排序的人..orz
作者: jackiechin (jackiechin)   2015-03-21 22:13:00
type =100 union type <> 100

Links booklink

Contact Us: admin [ a t ] ucptt.com