За последние 24 часа нас посетили 19214 программистов и 1621 робот. Сейчас ищут 1058 программистов ...

Mysql, сортировка по номерам рейсов (1/1 2010..)

Тема в разделе "MySQL", создана пользователем Victor Bazinov, 20 мар 2010.

  1. Victor Bazinov

    Victor Bazinov Активный пользователь

    С нами с:
    30 окт 2007
    Сообщения:
    69
    Симпатии:
    0
    Доброго время суток.
    Делаю проект по логистике, появилась проблема с сортировкой по номерам рейсов.
    На данный момент структура номера порядковый_номер_рейса/порядковый_номер_подрейса год
    То есть получаются такие значения:
    1/1 2010
    1/2 2010 - подрейс 1ого
    2/1 2010

    на данный момент при SELECT reisa_numurs FROM `trucks__tehplan` where dat='2010-03-20' order by reisa_numurs asc получаю:
    12/1 2010
    12/2 2010
    13/1 2010
    18/1 2010
    18/2 2010
    19/1 2010
    19/2 2010
    20/1 2010
    4/1 2010
    5/1 2010

    Есть ли возможность поменять это на что-то более логичное? Поле номера рейса обычный varchar.
    Из-за хитрой структуры данных связанных с этим сортировать пхп возможностями тоже не получилось..

    Спасибо заранее!
     
  2. Victor Bazinov

    Victor Bazinov Активный пользователь

    С нами с:
    30 окт 2007
    Сообщения:
    69
    Симпатии:
    0
    такой вариант тоже почему-то не прошёл
    order by substring_index(reisa_numurs,'/',1) asc
     
  3. А зачем? Тут же очевидно, что стоит эти данные в раздельные целочисленные поля разнести
     
  4. Phantik

    Phantik Активный пользователь

    С нами с:
    2 июл 2009
    Сообщения:
    163
    Симпатии:
    0
    Можно лидирующие нули в номера ставить.

    4/1 2010
    5/1 2010

    04/1 2010
    05/1 2010
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Phantik
    не вредительствуй
     
  6. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    если поле символьное, то потенциально могут в номерах и нецифры встречаться. так что выравнивание нулями логичнее. но автору виднее, могут ли номера быть не числами.