За последние 24 часа нас посетили 16933 программиста и 1632 робота. Сейчас ищут 676 программистов ...

Запрос к БД с группировкой

Тема в разделе "PHP для новичков", создана пользователем Джонни Деппович, 1 сен 2017.

  1. Джонни Деппович

    С нами с:
    1 сен 2017
    Сообщения:
    3
    Симпатии:
    0
    Добрый вечер. Я тут новичок, по этому прошу простить, если не правильно что то оформил в теме.

    Скажите пожалуйста, как нужно писать выборку из БД? Есть 2 таблицы, одна users другая adverts. Нужно вывести 5 объявлений из таблицы adverts, но от каждого пользователя только одно и в случайном порядке.

    Написал запрос с использованием group by и order by rand(). Все работает, выводит по одному от каждого пользователя, но одни и те же объявления.

    вот сами запросы
     
  2. Джонни Деппович

    С нами с:
    1 сен 2017
    Сообщения:
    3
    Симпатии:
    0
    Получаю id пользователей:

    Код (Text):
    1. $ids_user="(SELECT `id_user` FROM `cat_users` WHERE `date_visit` + 300 > '".$times."' )";
    Получаю 5 объявлений:

    Код (Text):
    1. $sql = mysql_query("SELECT `id_advert` FROM `cat_advert` WHERE `num_user` IN ".$ids_user."  GROUP BY `num_user` ORDER BY RAND() DESC LIMIT 5 ");
     
  3. Джонни Деппович

    С нами с:
    1 сен 2017
    Сообщения:
    3
    Симпатии:
    0
    Решил проблему сам