LINUX.ORG.RU

sqlite3 написать запрос

 


0

1

подзабыл я sql, подскажите как написать один запрос для :
есть простая таблица логов logs(id,type,desc)
в ней интересует событие определенного типа и 10 записей до него

пока набросал так (bash):

for id in `echo "select id from logs where type=134 and id > $2;" | sqlite3 $1`; do
    echo "select * from (select * from logs where id <= $id order by id desc limit 10) order by id asc;" | sqlite3 $1
done

★★★★★

Вместо

from logs where id <= $id

вставляешь

from
logs A
inner join (
select id
from logs
where type=134 and id > $2
) B on A.id <= B.id

impfp
()
Ответ на: комментарий от impfp

обдумав join, в итоге получилось так:

echo «select A.* from (select id from logs where type=0 and id > $2) as B join (select * from logs) A on ((B.id - A.id) < 10 and (B.id - A.id) >= 0);» | sqlite3 $1

x905 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.