Справка по sqlite-запросу - PullRequest
       0

Справка по sqlite-запросу

0 голосов
/ 23 ноября 2010

у меня 1 таблица.

jobs = ref( int primary key autoincrement ) 
      _id(int)
      date(date)

_id представляет конкретный автомобиль. каждая строка в таблице представляет работу для автомобиля, включая дату, когда работа произошла. 1 машина может иметь много рабочих мест.

Мне нужно 2 команды sqlite

  1. команда, которая даст мне самую последнюю работу для каждого автомобиля в таблице.

  2. команда, которая выдаст мне все машины, которые не имели работы в течение последних 21 дней.

Заранее спасибо.

1 Ответ

1 голос
/ 23 ноября 2010

Последняя работа:

 SELECT _id, max(date) FROM jobs GROUP BY _id

Все автомобили без работы за последние 21 день:

 SELECT _id, max(date) FROM jobs GROUP BY _id HAVING max(date) < (date-21)

Вам придется принять логику (date-21) в зависимости от того, как вы храните даты (у SQLite нет собственного типа DATE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...