За последние 24 часа нас посетили 17098 программистов и 1835 роботов. Сейчас ищут 1575 программистов ...

SUBSTRING_INDEX и DISTINCT

Тема в разделе "PHP и базы данных", создана пользователем tremen, 26 авг 2012.

  1. tremen

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

    С нами с:
    5 авг 2012
    Сообщения:
    7
    Симпатии:
    0
    Как сделать, чтобы SUBSTRING_INDEX смог работать вместе с группировкой(DISTINCT)?
    Помогите внедрить в запрос SUBSTRING_INDEX(`name`, ' ', 1):
    Код (Text):
    1. $sql = "SELECT DISTINCT left(name,60) AS name2 FROM table WHERE id IN (1,2,3) AND (name LIKE '$q%')";
     
  2. tremen

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

    С нами с:
    5 авг 2012
    Сообщения:
    7
    Симпатии:
    0
  3. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ты распиши подробнее, что сделать нужно. Не понятно ж нифига. Что ты имеешь в виду, когда пишешь "внедрить в запрос SUBSTRING_INDEX"?
     
  4. tremen

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

    С нами с:
    5 авг 2012
    Сообщения:
    7
    Симпатии:
    0
    Есть такой LIKE запрос c группировкой (DISTINCT):
    Код (Text):
    1. $sql = "SELECT DISTINCT left(name,60) AS name2 FROM table WHERE id IN (1,2,3) AND (name LIKE '$q%')";
    Задача - как обрезать выборку до первого пробела(в запросе), сохраняя группировку?

    Например, если в таблице есть одинаковые записи - "пиво тёмное", то должно сгруппировать и вывести "пиво".
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Наверно, так
    Код (Text):
    1. SELECT DISTINCT SUBSTRING_INDEX(`name`, ' ', 1) AS `name` FROM `test` WHERE `id` IN (1,2,3) AND `name` LIKE '$q%';
    Но тут, скорее всего, стоит подумать над структурой базы данных.