7
最近我發現SQLite不支持DISTINCT ON()
子句,它似乎是postgresql特有的。例如,如果我有表t
與列a
和b
。我想選擇不同b
的所有項目。以下查詢是唯一一個在SQLite中這樣做的正確方法嗎?SQLite中的DISTINCT子句
select * from t where b in (select distinct b from t)
的樣本數據:
a | b
__|__
1 5
2 5
3 6
4 6
我所期望的回報:
a | b
__|__
1 5
3 6
該查詢將始終從T迴流的所有行,因爲t中的每個b都是(從t中選擇不同的b)的一部分。也許你可以更清楚地說明你想要做什麼,並提供一些樣本數據和預期結果? – dcp 2010-06-14 15:46:10
除非你解釋爲什麼'(1,5)'在你的預期結果集中而'(2,5)'不是(爲什麼它正是這種方式,而不是相反方向),這將是困難的回答。 – Tomalak 2010-06-14 15:58:04
任何constrait都可以。最小值,最大值等。假設真正的查詢需要DISTINCT上的附加列,但前提是這些數據有意義 - 例如,對於相同的DISTINCT列,附加列是相同的。 – grigoryvp 2010-06-14 16:03:30