Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Serge Chervjakov                     2:5020/400     25 Aug 2004  23:58:06
 To : Konstantin Tokar
 Subject : Re: Программируем MySQL под CGI Perl
 -------------------------------------------------------------------------------- 
 
 Wed Aug 25 2004 22:49, Konstantin Tokar wrote to Igor Sigaev:
  KT> Определи первую наименьшую присутствующую и вычти 1
  KT> select min(id) from table ?
  KT> только это плохая идея.
 
 Hичего так не выйдет. Пусть есть 1,2,3,4,5. Удалили 2,3. min(id) будет 1.
 Вычитаем 1, получаем 0 - безобразие:).
 
 И вообще, все что тут задумано действительно плохая идея... Зачем тебе именно
 так нужно? Hе вижу смысла просто...
 
 Решение.. чесно говоря, у меня с алгоритмами не очень.. ну плохо то бишь. Ибо
 не знаю ниодного стандартного. Hу может не совсем прям ниодного - какие-то
 знаю, но под этот случай - нет. Потому будем импровизировать:). Как это mysql
 запросами сделать не могу сказать. Думаю никак. Ибо тут идет связь между
 отдельными записями и соответственно в условии должно стоять что нить вроде,
 что "найти запись, следующая за которой будет иметь номер больше чем на 1" или
 что-нибудь в этом роде. Потому решение раз: выбираешь все эти номера в массив
 (в сортированном порядке естественно) и начинаешь искать свой этот номер.. Hу
 как.. да можно в тупую - проверяешь что первая запись - единица. Если нет, то
 искомое число - 1. Проверяешь, что длина массива равна числу в последнем
 элементе. Если да, то искомое число - число в посл. элементе +1. Если нет, то
 проверяешь, что номер в середине массива равен числу элементов до него. Если
 нет, то то же самое с первой половиной делаешь.. Короче ничего сложного - ты
 понял...
 Решение два, которое только что пришло:). Как запросом mysql'вским:). Правда
 мне почему-то кажется, что не выйдет ничего... Hу я попробовал, но тебе
 придется поотлаживать.
 
 select min(numuser) from users;
 my $nextnum=1;
 if ($user{'min(numuser)'}==1) {
  select max(numuser) from users;
  my $max=$users{'max(numuser)'}
   
  select tbg.numuser from users as tbg left join users as tbg1 on 
 tbg.numuser=tbg1.numuser-1 where tbg1.numuser is null order by tbg.numuser 
 limit 1
 
  $nextnum=$users{numuser}!=$max ? $users{numuser}+1 : $max+1;
 }
 объяснять ничего не буду. Последний запрос лично сам сейчас испробовал -
 возращал что надо, т.е. он правильный. Переделывай под свое короче.
 Hо мне такое решение не нравится... не знаю, на сколько оно быстро и что
 быстрее - бенчмарк крутить всеравно не буду.
 
 --- ifmail v.2.15dev5.3
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 Программируем MySQL под CGI Perl   Igor Sigaev   25 Aug 2004 22:02:00 
 Re: Программируем MySQL под CGI Perl   Konstantin Tokar   25 Aug 2004 22:49:54 
 Re: Программируем MySQL под CGI Perl   Serge Chervjakov   25 Aug 2004 23:58:06 
 Re: Программируем MySQL под CGI Perl   Igor Sigaev   26 Aug 2004 00:50:02 
 Re: Программируем MySQL под CGI Perl   Konstantin Tokar   26 Aug 2004 00:59:16 
 Re: Программируем MySQL под CGI Perl   Igor Sigaev   26 Aug 2004 12:10:52 
 Re: Программируем MySQL под CGI Perl   Justin Finch-Fletchley   26 Aug 2004 01:24:52 
 Re: Программируем MySQL под CGI Perl   Igor Sigaev   26 Aug 2004 12:10:52 
 Пpогpаммиpуем MySQL под CGI Perl   Ivan Frolkov   26 Aug 2004 11:54:57 
 Re: Программируем MySQL под CGI Perl   Dmitri Shankov   26 Aug 2004 17:16:00 
 Re^5: заpаботок   Ivan Frolkov   26 Aug 2004 23:24:38 
 Re^5: заpаботок   Ivan Frolkov   27 Aug 2004 00:03:04 
 Re: Программируем MySQL под CGI Perl   Artem Chuprina   27 Aug 2004 11:58:14 
 Re: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   27 Aug 2004 18:16:30 
 Re: Программируем MySQL под CGI Perl   Ivan Frolcov   27 Aug 2004 18:26:01 
 Re: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   27 Aug 2004 18:36:26 
 Re: Программируем MySQL под CGI Perl   Andrei Protasovitski   27 Aug 2004 18:57:48 
 Re: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   27 Aug 2004 19:29:33 
 Программируем MySQL под CGI Perl   Alexey Gradovtsev   29 Aug 2004 15:18:52 
 Re: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   30 Aug 2004 17:03:48 
 Hа: Программируем MySQL под CGI Perl   Alexander V. Gaiduk   30 Aug 2004 18:09:45 
 Re: Hа: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   30 Aug 2004 20:42:21 
 Re: Программируем MySQL под CGI Perl   Alexey Gradovtsev   31 Aug 2004 14:32:48 
 Re: Программируем MySQL под CGI Perl   Sergey Gernichenko   01 Sep 2004 10:26:02 
 Re: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   01 Sep 2004 16:49:03 
 Re: Программируем MySQL под CGI Perl   Serge Chervjakov   02 Sep 2004 00:00:50 
 Re: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   02 Sep 2004 00:47:28 
 Re: Программируем MySQL под CGI Perl   Boris Nesterov   01 Sep 2004 23:48:00 
 Re: Программируем MySQL под CGI Perl   Andrey Sapozhnikov   02 Sep 2004 01:18:17 
 Re: Программируем MySQL под CGI Perl   Dmitri Shankov   27 Aug 2004 23:37:00 
 Re: Программируем MySQL под CGI Perl   Serge Chervjakov   28 Aug 2004 03:56:11 
 Re: Программируем MySQL под CGI Perl   Artem Chuprina   28 Aug 2004 12:09:13 
 Hа: Программируем MySQL под CGI Perl   Alexander V. Gaiduk   26 Aug 2004 09:14:40 
 Re: Программируем MySQL под CGI Perl   Igor Sigaev   26 Aug 2004 12:10:53 
 Программируем MySQL под CGI Perl   Sergey Orlov   26 Aug 2004 08:53:27 
 Re: Программируем MySQL под CGI Perl   Igor Sigaev   26 Aug 2004 12:10:52 
 Re: Программируем MySQL под CGI Perl   Andrei Protasovitski   26 Aug 2004 14:54:52 
 Re: Программируем MySQL под CGI Perl   Serge Chervjakov   26 Aug 2004 17:34:23 
 Re: Программируем MySQL под CGI Perl   Igor Sigaev   26 Aug 2004 19:24:06 
 Re: Программируем MySQL под CGI Perl   Andrei Protasovitski   26 Aug 2004 19:58:17 
 Re: Программируем MySQL под CGI Perl   Serge Chervjakov   26 Aug 2004 20:01:23 
 Re: Программируем MySQL под CGI Perl   Dmitri Shankov   26 Aug 2004 23:35:00 
 Пpогpаммиpyем MySQL под CGI Perl   Yuri Pats   26 Aug 2004 16:31:36 
 Re: Программируем MySQL под CGI Perl   Artem Chuprina   27 Aug 2004 11:52:27 
Архивное /ru.cgi.perl/1667984a1de6c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional