2014-02-04 13 views
0

У меня есть следующая таблица -Как запустить один запрос для достижения следующего результата?

ID Start Duration 
1 343  342 
1 434  32 
1 562  12 

Я хочу, чтобы выполнить запрос в SQL-лайте, чтобы получить первый старт, последний старт и последнюю продолжительность и число таких идентификаторов.

Я пробовал следовать, чтобы достичь этого.

SELECT MIN(Start),COUNT(ID) FROM event_list where ID=1 ORDER BY Start; 

С этим я могу получить первый запуск и количество идентификаторов. Но я хочу получить Last Start + Last Duration. то есть 562 + 12. Однако у меня нет функции LAST, поддерживаемой в sql-lite. Как я могу это достичь?

+0

Поскольку нет LAST может быть MAX может помочь. –

+0

Невозможно сформировать запрос на самом деле. –

+0

Я ищу продолжительность, где start = max (старт) и ID = 1 –

ответ

1
SELECT duration 
FROM event_list 
WHERE start = (SELECT Max(Start) 
       FROM event_list 
       WHERE ID=1); 

или

SELECT duration , 
     Max(Start) 
FROM event_list 
WHERE ID=1; 
+0

Я хочу взять 12 как продолжительность здесь. Когда я сделаю SELECT, Max (Start) FROM event_list WHERE ID = 1; Как вы можете гарантировать, что продолжительность для MAX (Start) –

+0

Потому что это так. Проверьте свою таблицу, выполните запрос, и вы увидите. Но если вы не уверены, выполните первый. –

0

Вы пробовали (выберите Duration from event_list order by Duration DESC limit 1) как Sub Query для функции LAST?

Смежные вопросы