Я пытаюсь улучшить рутину в своей программе, где я подсчитываю количество вхождений одной и той же даты. Так может быть, пример:Сводка или подзапрос беспорядок
Time Other_stuff Entry
1332334357 .....
1332334367 .....
1332334386 .....
До сих пор я использовал заявление, как:
SELECT date(time, 'unixepoch') FROM reviewHistory
WHERE lastInterval <= 21 AND nextInterval > 21
Теперь я в основном хочу создать гистограмму записей, входящих в тот же день
2012-03-21 20
2012-03-20 13
2012-03-19 50
И так далее. Однако я не вижу простого способа сделать это, поэтому я решил, что просто сделаю SELECT DISTINCT и сохраню эти значения, а затем запрошу каждую отдельную запись с условными выражениями и проверит количество строк. Это избавит меня от времени обработки и времени доступа ввода-вывода, однако я не смог найти утверждение, которое это выполнило. Я думал, что-то вроде этого будет работать, но это не так. Пример:
SELECT time FROM reviewHistory WHERE
(SELECT date(time, 'unixepoch') FROM reviewHistory
WHERE lastInterval <= 21 AND nextInterval > 21) = "2012-03-21"
Это не ошибка, но она также не возвращает ничего, и я чувствую себя довольно уверен, что это то, что я должен быть в состоянии выполнить в несколько SQLite заявления и не должен управлять стороной приложения ,
UPDATE: Lol, это только что пришло ко мне после того, как я опубликовал его. Хотя я все еще хочу верить, что есть более грациозный способ решить проблему подсчета в SQL.
SELECT time FROM
(SELECT date(time, 'unixepoch') AS time
FROM reviewHistory WHERE lastInterval <= 21 AND nextInterval > 21)
WHERE time = "2012-03-21"
О, это красиво. Именно это я и надеялся поблагодарить. Наверное, я неправильно понял, как COUNT (*) использовался, когда я читал на нем. – Jeremy