2012-02-11 43 views
0

是否合法,在Android的SQLite的所有版本(從Android 1.6的說 - 上)有這樣的查詢:Android SQLite組的所有列?

select _id, name, min(qty) min_qty, max(qty) max_qty 
from my_table 
group by name 

請注意:分組是「名」而已,不是「_id」 。我注意到這實際上起作用。我只是想知道它是否按照目的和任何Android版本和設備運行。我需要這個查詢來顯示我的ListView的最小和最大數量,但仍然有一個_id分組的行 - 爲我的ListView來獲取它。 希望很明顯。

+1

SQLite獨立於Android,並且該查詢對SQLite(以及MySQL)有效,但不適用於其他數據庫。 GROUP BY子句在技術上是ANSI,但這不是大多數數據庫(Oracle,SQL Server,DB2等)所支持的。我相信PostgreSQL 9.2開始支持「缺少列」GROUP BY ... – 2012-02-11 16:05:17

+0

OK非常感謝。無論如何,我很想看到這方面的其他確認。 – Yar 2012-02-11 16:08:03

+2

要添加到OMG所說的內容,如果'name'是唯一的,它將正確工作。如果它不是唯一的,則會返回一個(或多或少是隨機的)與_ name相關的許多'_id'。所以,如果(就像你說的)只想一個行的任何一個'_id'分組,你就可以使用它。 – 2012-02-11 16:36:18

回答

0

根據OMG Ponies和ypercube的評論我想我可以說這個問題是回答:是的,查詢是有效的,返回的_id將是組中的一個。