За последние 24 часа нас посетили 31950 программистов и 1380 роботов. Сейчас ищут 813 программистов ...

Сортировка таблицы, проблема с типами данных.

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

  1. WildZero

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

    С нами с:
    24 фев 2010
    Сообщения:
    242
    Симпатии:
    0
    Адрес:
    Пермь
    Добрый день. Возникла такая проблема:
    есть таблица, её надо отсортировать по полю типа VARCHAR. Но проблема в том, что в ней в основном находятся число, и изредко встречается текст. и при сортировке получается примерно следующее:
    1
    100
    101
    101000
    102

    А хотелось бы что числа сортировались как числа, а текст как текст.
    Возможно ли это?
     
  2. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    WildZero
    Записей много? Если мало, может с массивом поколдовать есть смысл. В пхп больше функций сортировки, чем у мускула.
     
  3. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    и какие меры приняли в поисках решения?
     
  4. WildZero

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

    С нами с:
    24 фев 2010
    Сообщения:
    242
    Симпатии:
    0
    Адрес:
    Пермь
    С mysql знаком плохо, сначала пытался найти какие-функции преобразования типов в мускуле, не нашёл.
    Затем пытался преобразовать средствами пхп, но так появились лишние запросы, что крайне не желательно, т.к. таблица здоровенная..
     
  5. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    WildZero
    здоровенная это сколько, если не секрет ?
     
  6. WildZero

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

    С нами с:
    24 фев 2010
    Сообщения:
    242
    Симпатии:
    0
    Адрес:
    Пермь
    5,5kk
    А какие подводные камни могут быть при использовании CONVERT (row, SIGNED).
    Как будут конвертироваться текстовые строки??
     
  7. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  9. WildZero

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

    С нами с:
    24 фев 2010
    Сообщения:
    242
    Симпатии:
    0
    Адрес:
    Пермь
    Т.е. как я понял (с английским не очень хорошо.)
    Запрос будет примерно таким:
    SELECT * FROM table1 ORDER BY BINARY row+0, BINARY TRIM(LEADING CAST(row+0 AS CHAR) FROM row);
    где row - нужное поле?