如何获取所有不同的行,SQLite

时间:2011-12-27 19:08:06

标签: android sqlite date unique

这是我的表:

private static final String DATABASE_CREATE =
        "create table entry (_id integer primary key autoincrement, "
        + "date text not null, " +
        "velocity integer not null, " +
        "type text not null, " +
        "xCoord real not null, " +
        "yCoord real not null, " +
        "color integer not null);";

创建条目时,我的listView由日期填充。所以我的listView看起来像这样:

December 25, 2011
December 25, 2011
December 25, 2011
December 26, 2011
December 26, 2011
December 27, 2011

基本上,每次在数据库中保存一个条目时,它都会显示创建条目的日期。我设法选择了唯一的日期,因此相同的日期只显示一次,通过这样做:

SELECT * FROM entry GROUP BY date

现在我的listView看起来像这样:

December 25, 2011
December 26, 2011
December 27, 2011

我的问题是,当我点击listView中的一行时,如何获取与我点击的日期相同的所有行。例如,如果我点击“2011年12月25日”,那么我希望查询返回那些与我点击的日期相同的3行的所有信息。

2 个答案:

答案 0 :(得分:1)

SELECT * FROM entry WHERE date='December 25, 2011'

答案 1 :(得分:0)

你的数据库结构可能与db理论有点相似。你可能最好有2个表,以避免重复数据。这样,您可以在列表中显示第一个表,并且在此表中,所有数据(日期)都是不同的。然后,当用户单击时,您从第二个表中获取具有相同数据键的任何记录,然后您可以在第二个表中显示那些获取的行中的所有其他内容