2011-04-04 60 views
0

他们都在查询同一个表,一个选择结果数量,另一组查询选择最小值。Android SQLite:我可以将这四个SQLite查询合并为一个吗?

可以这样conslidated到一个查询

 likeNewTotal = db.getSingleValue("SELECT COUNT(*) FROM Offers WHERE subCondition = 'likenew'"); 
    veryGoodTotal = db.getSingleValue("SELECT COUNT(*) FROM Offers WHERE subCondition = 'verygood'"); 
goodTotal = db.getSingleValue("SELECT COUNT(*) FROM Offers WHERE subCondition = 'good'"); 
    acceptableTotal = db.getSingleValue("SELECT COUNT(*) FROM Offers WHERE subCondition = 'acceptable'"); 

    likeNewLow = db.getSingleValue("SELECT MIN(price) FROM Offers WHERE subCondition = 'likenew'"); 
     veryGoodLow = db.getSingleValue("SELECT MIN(price) FROM Offers WHERE subCondition = 'verygood'"); 
    goodLow = db.getSingleValue("SELECT MIN(price) FROM Offers WHERE subCondition = 'good'"); 
    acceptableLow = db.getSingleValue("SELECT MIN(price) FROM Offers WHERE subCondition = 'acceptable'"); 

回答

1

您可能正在寻找GROUP BY功能:

SELECT subCondition,COUNT(*),MIN(price) FROM Offers GROUP BY subCondition; 

这会给你的COUNT(*)和MIN(价格)针对subCondition中的所有不同值。

相关问题