1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

SQL запрос

Тема в разделе "Web Coding", создана пользователем terkin, 17 сен 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    В базе есть столбец domain, в нём список доменов, мне нужно сделать выборку с сортировкой по зоне домена - тоесть com, ru, я вот не помню строчных ф-ций SQL, помогите
     
  2. mahoune

    mahoune Писатель

    Регистр.:
    5 сен 2007
    Сообщения:
    8
    Симпатии:
    1
    А что за SQL сервер? MySQL?
    Код:
    SELECT * FROM my_table t
    ORDER BY RIGHT(t.domain,2), RIGHT(t.domain,3), RIGHT(t.domain,4), RIGHT(t.domain,5)
    
    Это простой скрипт, без поиска последней точки в поле omain. Сортировка исключительно по буквам справа налево до 5 символов. Результат может быть неожиданным. В идеале, я бы посоветовал при вставке в эту таблицу выдирать зону и записывать ее в отдельное поле. Таким образом можно будет сэкономить значительное время на выполнения вашего запроса, который будет выглядеть так в таком случае:
    Код:
    SELECT * FROM my_table
    ORDER BY zone_index
    
     
    terkin нравится это.
  3. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    Спасибо первый вариант подошёл, можно было бы да при вбивке отдельно в поле но просто работаю уже с готовой базой.
     
  4. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    PHP:
    "SELECT * FROM table WHERE domain like %.ru%"
    Вот так, например, можно попробывать. Однако - обломов может больше чем в предложенном выше варианте :)
     
  5. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Если объем таблицы не особо большой, то можно выбрать все данные в массив и организовать сортировку средствами php (если конечно используется php).
     
  6. nnmkayf

    nnmkayf

    Регистр.:
    25 июл 2007
    Сообщения:
    153
    Симпатии:
    98
    Еще вариант для ускорения:
    в существующую таблицу добавить int поле, которое будет ключем доменных зон, а сами ключи считать отдельной програмкой, которую можно в крон запихнуть или на функциях (триггерах) написать если версия MySQL позволяет.
     
Статус темы:
Закрыта.