我试图在我的 SQLite 数据库的列中找到某些值的平均值。此列有一些空值和一些非空值。我需要根据最后 1、5 或 10 个非空值计算平均值。但是当我尝试通过我的查询获取数据时,我总是将光标设为空。请帮忙。这是我获取里程的最后一个非空值的代码。
public void calculateAvgMileage(Prediction predictMileage)
{
if(predictMileage.isChkLastMileage1()==true)
{
String [] columns = new String[]{KEY_ROW_ID, KEY_KM, KEY_FUEL_QTY, KEY_FUEL_PRICE, KEY_TOTAL_COST, KEY_MILEAGE, KEY_DATE,KEY_TANK_FULL};
predictionCursor = ourDatabase.rawQuery("SELECT * FROM fuel_table ORDER BY _id DESC LIMIT 1", null);
if(predictionCursor!=null && predictionCursor.getColumnCount()>0)
{
predictionCursor.moveToLast();
String predictionMileage= predictionCursor.getString(5);
if(predictionMileage==null)
{
predictionCursor.moveToPrevious();
}
else
{
avgMileagePrediction.setpredictionMileage(Double.valueOf(predictionMileage));
}
}