SQLite使用query方法取出某一列的值为最小的那一行
SQLite使用query方法取出某一列的值为最小的那一行
设计了一张表,三个属性,一个为ID,一个为Location,一个为Feature,没有设置约束,只要三列的值不完全一样即可.现在我要按照ID分组,然后每组取出一行,这一行必须满足的条件为该行在所在组的Location值为最小,请问该怎么做.下面是几次失败的尝试
Java code?12 Cursor c=read.query(DatabaseHelper.TABLENAME_2, new String[]{"ID","Location","Feature","MIN(Location) "},null,null,"ID","Location=Min(Location)","ID ASC");//取出所有病毒的第一段特征码
.
Java code?12 Cursor c=read.query(DatabaseHelper.TABLENAME_2, new String[]{"ID","Location","Feature","MIN(Location) M"},null,null,"ID","Location=M","ID ASC");//取出所有病毒的第一段特征码
我希望使用query方法来达成目的论文网 .
不一定可以用sql语句的 有时候读取别的程序的数据库就不能用sql语句了 不过看楼主的代码看来是读取自己的数据库了 那直接查询sql语句即可 这样子就免去了程序拼接sql语句的麻烦了 运行更快
Java code?12 Cursor c = read.execSQL("select ID,Location,Feature,Location from "+DatabaseHelper.TABLENAME_2+";");
写SQL,用execSQL(sql)来查
select ID, min(location) from xxx group by ID;
这样去重之后倒是可以得到一行,但是没有读出Feature那一列;可是如果加上Feature的话,结果就是每个Feature都有一行,并且除了Feature自己这一列,其他两列的值是相等的。然后我想知道,是不是换一个写法直接查询SQL就能够实现了。如下:(聚合函数这么写应该没有错误吧)
Java code?1 Cursor c = read.execSQL("select ID,Location,Feature from "+DatabaseHelper.TABLENAME_2+"GroupBy ID ASC