За последние 24 часа нас посетили 16548 программистов и 1650 роботов. Сейчас ищут 1932 программиста ...

Нужен совет

Тема в разделе "MySQL", создана пользователем R22, 13 май 2008.

  1. R22

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

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Есть таблица

    id работы | id работника | описание работы|
    1, 1, desc1,
    2, 1, desc2,
    3 , 2, desc3,

    и т.д. Требуется вывести описание последних 10 работ каждого сотрудника(id работника).
    Думаю как это сделать одним запросом. Mysql поддерживает вложенные запросы.
     
  2. creage

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

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    В библиотеке DbSimple есть очень, ну очень удобная функция задания ключа массива - ARRAY_KEY. Фишка дает на выходе сгруппированный массив строк.

    Простыми средствами придется обрабатывать запрос руками, если нужен порядок вывода. Если порядок не нужен, то обычным джоином таблицы с собою же и группировкой по полю.
     
  3. R22

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

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Спасибо решил данным способом. Таблица из условия это аналогия. Запрос
    ---
    set group_concat_max_len = 4096; поставить ограничение больше по умолчанию 1024

    SELECT category_id, GROUP_CONCAT(CONCAT(news_annonce, '::'), news_id order by news_id desc SEPARATOR '::' ) FROM

    news GROUP BY category_id order by category_id desc
    ---
    Внутренний concat нужен для последующей обработки в php, чтобы убрать news_id по которому задается сортировка.
    Спасибо за внимание.