[identity profile] vdas.livejournal.com posting in [community profile] useful_faq
Мля... Совсем поломал голову. Тупая, простейшая задача, но я уже вообще ничего не соображаю. Есть список <50, <100, >=100, >200 итд итп - надо преобразовать его в пары (с-до): 1-49, 50-99, 100-200, 201-MAX

Тетки дают такие списки.
А нужны пары "С-До" .Сегодня (больше некому было) пришлось ручками это все раскладывать. [...] Тарифы, мля...[...]

Я - тупой :( Мне не приходит в голову простой и эффективный алгоритм. Все время монстры какие-то рисуютсо... Некрасивые... Хелп.

Date: 2008-02-15 01:44 am (UTC)
From: [identity profile] meanab.livejournal.com
Что-то в таком духе: два прохода. Каждый интервал представлен парой (from, to), где from и to — либо число, либо NIL. При первом проходе заполняем указанные в явном виде части интервала. При втором проходе заменяем NIL в поле from на to предыдущего интервала, а NIL в поле to — на from следующего. В реальности алгоритм будет чуть сложнее, так как нужно учитывать граничные условия и, возможно, открытость/закрытость интервала (если речь идет о целых числах, то можно просто заменять '<100' на '<=99').

Date: 2008-02-15 03:56 am (UTC)
From: [identity profile] urvin.livejournal.com
SELECT id,tname,tcost
FROM tariffs
WHERE tcost<100
AND tcost>50

Date: 2008-02-15 07:44 am (UTC)
From: [identity profile] sam-buddy.livejournal.com
select * from table sort by id :)