sqlite データベースの列で特定の値の平均を見つけようとしています。この列には、null 値と null 以外の値があります。最後の 1、5、または 10 個の非 null 値に基づいて平均を計算する必要があります。しかし、クエリを介してデータを取得しようとすると、常にカーソルが null になります。親切に助けてください。走行距離の null 以外の最後の値を取得するためのコードを次に示します。
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));
}
}