SQLite запрос с средним значением

Я пишу программу, застрял на моменте написания одного сложного запроса. Описание: Есть записи по дням, в отчете должно быть: итоговое кол-во дней (записей в день может быть несколько) из выборки и средние значения данных. Никак не могу понять что делаю не так, я новичок. Помогите...

fun reportSevenDays(SecondDay: String) {
        val db = this.writableDatabase
        var ListReport = ArrayList<report>()
        val Qquery = " INSERT INTO $TABLE_REPORT ($SUMM_DAY, $SUMM_B, $SUMM_Z, $SUMM_U, $SUMM_KK) SELECT COUNT (DISTINCT $DATE_D) FROM ( SELECT AVG($COL_B, $COL_Z, $COL_U, $COL_KK)  FROM (SELECT * FROM $TABLE_NAME WHERE $DATE_D <= '$SecondDay'))"
        val cursor = db.rawQuery(Qquery, null)
        cursor.moveToFirst()
        while (! cursor.isAfterLast) {
            val stat = report()
            stat.summ_day = cursor.getInt(cursor.getColumnIndex(SUMM_DAY))
            stat.summ_b = cursor.getInt(cursor.getColumnIndex(SUMM_B))
            stat.summ_z = cursor.getInt(cursor.getColumnIndex(SUMM_Z))
            stat.summ_u = cursor.getInt(cursor.getColumnIndex(SUMM_U))
            stat.summ_kk = cursor.getInt(cursor.getColumnIndex(SUMM_KK))
            ListReport.add(stat)
            cursor.moveToNext()
        }
            cursor.close()
        db.close()
    }

Логика, для понятности, ниже. Делаем выборку из максимального значения:

 SELECT * FROM $TABLE_NAME WHERE ($DATE_D <= '$SecondDay')

После данного действия нам необходимо высчитать параметры: несколько средних значений и одно значение, показывающее количество дней( данное значение без учета дупликатов, т.е. сколько дней всего в выборке) Средние параметры:

 INSERT INTO $TABLE_REPORT ($SUMM_B, $SUMM_Z, $SUMM_U, $SUMM_KK) SELECT AVG($COL_B, $COL_Z, $COL_U, $COL_KK)  FROM ...

Счетчик дней:

INSERT INTO $TABLE_REPORT($SUMM_DAY) SELECT COUNT(DISTINCT $DATE_D) FROM ...

Все параметры из первой выборки.


Ответы (0 шт):