За последние 24 часа нас посетили 18207 программистов и 1600 роботов. Сейчас ищут 933 программиста ...

Сортировка чисел

Тема в разделе "PHP для новичков", создана пользователем xak2, 15 апр 2008.

  1. xak2

    xak2 Guest

    Помню давно проходил данную тему но щас подзабыл и немагу уже найти ответа. При запросе в базу ORDER BY price ASC выводяться данные таким образом

    150.00
    155.00
    2.00
    9000.00

    т.е. сортирует по первой цифре, это и понятно т.к. цена храниться в ячейке ввижде VARCHAR с точкой, например 2.000.000.00
     
  2. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    ждем задания вопроса...
     
  3. xak2

    xak2 Guest

    Да совсем забыл, но думал и так ясно. Из:
    150.00
    155.00
    2.00
    9000.00

    надо сделать:

    9000.00
    155.00
    150.00
    2.00
     
  4. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    http://www.mysql.ru/docs/man/String_functions.html
    тупо берем select price*1 as price...
    но это дольше - лучше хранить цену в формате decimal
    Если выборка большая, то НАМНОГО дольше.
     
  5. Johnatan

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

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    А что если хранить данные в БД в подобающем формате?
    Я думаю это решит много проблем.
     
  6. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    "2.000.000.00" что за тип?
     
  7. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    явно не число и не цена. Пиши свою функцию сортировки и последствия за свой счет.
     
  8. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    armadillo, я чё? Я ничё. Просто кто-то слишком умный (не тыкаю пальцем в Johnatan) начитался "короткие и ироничные комментарии для чайников".
     
  9. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    В копейках храни :lol:
     
  10. Johnatan

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

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    2000000 - цыферка, которая потом преобразуется в 2.000.000,00
    И если ты прекрасно знаешь, что тебе нужна будет сортировка по числам, а не по буквам - нафига пихать число в строку?
    Но, конечно, если туда написать, например, "5 тыщ миллионов тугриков" сортировка будет соответствующая.