2015-08-30 3 views
-1

Работа в режиме ввода времени. Таблица имеет StartDate, enddate и Hour. Поэтому я хочу показывать ежедневно, еженедельно и ежемесячно.Android Sqlite query - сумма часов

Ежедневно я могу получить непосредственно с использованием даты, а затем я буду суммировать часы. В еженедельнике, Попытка получить сумму рабочего времени между диапазоном дат. Сначала я запрос, чтобы получить отчетную дату, а затем суммировать часы.

String query = "SELECT distinct " + COLUMN_DATE + " from " 
      + TIME_ENTRY + " WHERE " + COLUMN_DATE + " >=\"" 
      + startDate + "\" AND " + COLUMN_DATE + " <=\"" + endDate 
      + "\""; 

Cursor cursor = dbSet.rawQuery(query, null); 

Я использовал Sum (Часы), но он нормальный Дополнение.

String subQuery = "select sum(" + COLUMN_HOURS + ") from " 
    + TIME_ENTRY + " WHERE " + COLUMN_DATE="\""+cursor.getString(0) +"\""; 

Задача: Любая функция или любой другой способ сделать количество часов в запросе sqlite.?

+0

Хорошее начало было бы удаление всех тех бессмысленно ** \ "** –

+0

Спасибо @ FrankN.Stein – Mahesh

ответ

0

Если вы хотите высчитать часы по всей неделе, почему вы выбираете часы только на одну дату? Есть ли только одна дата за всю неделю? По-моему, это твоя ошибка.

Насколько я понимаю, ваша переменная идея query представляет собой набор дат, так что вы должны подзапрос с использованием IN не =

+0

На самом деле у него может быть несколько элементов за одну дату. – Mahesh

+0

@ Махеш, да, это очевидно, но я думаю, что через неделю у вас может быть более одной даты? Не так ли? почему вы сравниваете только одну дату, а не набор дат? – Fixus

+0

Да, у нее есть несколько дат. Сначала я разные даты, а затем я запрашиваю часы для определенной даты. Я не знал, как это сделать в одном запросе. я ade 2, чтобы получить его. – Mahesh