Рандомная выборка из последних 10 записей

Тема в разделе "Базы данных", создана пользователем yeaahhh, 21 сен 2011.

Модераторы: latteo
  1. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Ребят, подскажите пожалуйста запрос, по которому можно вытянуть 5 случайных записей БД из последних 10 добавленных.
    Что-то никак в голову не приходит.
    Заранее спасибо!
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    можно как-то так
    PHP:
    <?php 
    $i
    =0;
    $qwery mysql_query("SELECT * FROM table ORDER BY RAND() LIMIT 0, 10");
    while(
    $row mysql_fetch_array($qwery) && $i 5)
    {
    echo 
    "";
    $i++;
    }
    ?>
    , но возможно есть более красивое решение :)
     
  3. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Не хочет работать с таким while..
    Попробовал break, но тогда Выводит не последние 10 записей, а все..
    Нужно как-то ещё сортировать by date..
    Вообщем труба..)
     
  4. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    например использовать вложенные запросы, сначала взять 10 последних записей (по id, по дате или другим параметрам) и дальше выбрать случайную запись.
    Код:
    SELECT * 
    FROM (
        SELECT * 
        FROM test_table
        ORDER BY id DESC
        LIMIT 10
    ) t
    ORDER BY RAND()
    LIMIT 1
    
     
    yeaahhh нравится это.