2012-02-11 57 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将是组中的一个。