-1

我在数据库中有产品表。productTable 里面有 productBar 和 price。我想获取所有的最低价格并显示在 listView 中。假设 producttable 里面有三个价格为 RM1(更低)的产品。但我的问题是它只在listView 中显示productPrice 的最后一列。

public Cursor getMinPrice(String barcode1) {
        // TODO Auto-generated method stub
        String[] args={barcode1};
        String name="";
        Cursor c= database.rawQuery("SELECT " + SQLiteHelper.product_id
                + " as _id, "+SQLiteHelper.productName+","+SQLiteHelper.productQtty+","+SQLiteHelper.product_ShoppingF+" ,"+SQLiteHelper.product_FId+" ,MIN("+SQLiteHelper.productPrice+") FROM "+SQLiteHelper.productTable+" WHERE  "+SQLiteHelper.productBar+ "=?",args);

        //return database.query(SQLiteHelper.productTable,null, "price=(SELECT MAX("+SQLiteHelper.productPrice+"))", null, null, null, null);
        try{
        c.moveToFirst();



            return c;
        }finally{

        }






    }


  public String getProductNameLower(Cursor c) {
        // TODO Auto-generated method stub
        return((c.getString(1)));
    }
}

我的查询有什么问题吗?因为它只得到最低价格的最后一列。希望有人能指导我...谢谢..

4

2 回答 2

1

使用MIN(),您的查询将搜索包含最低价格的记录,并返回该记录。

如果您想拥有多条记录,请使用这样的查询,它会返回价格最低的三个记录:

SELECT * FROM product ORDER BY price LIMIT 3
于 2012-12-02T14:37:26.187 回答
0

您可以使用以下查询获取最低价格

SELECT MIN(productPrice)FROM productTable
于 2013-06-18T12:39:42.823 回答