Mysql случайная запись из таблицы(с не случайным полем)

Discussion in 'PHP' started by Befan, 2 Sep 2012.

  1. Befan

    Befan New Member

    Joined:
    27 Mar 2012
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    даже незнал как сформулировать заголовок..
    ну в общем у меня есть таблица:
    и мне необходимо получить из неё две случайные записи, одну с Host=1 Другую c Host=2;
    как сделать это или одним запросом, или в два запроса;
    но чтобы одна запись имела Host=1 Другая Host=2;
    -не катит (а как мне добавить условие Host=1 или 2 ? к Rand()
     
  2. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    to Befan
    Code:
    SELECT * FROM tTable WHERE Host=1 AND Host=2 ORDER BY RAND()  LIMIT 1;
    Что сложного то?
     
  3. Befan

    Befan New Member

    Joined:
    27 Mar 2012
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0

    Пробовал, но тут косяк
    Всеравно косячит.


    выдет одни и теже записи на
    на этот запрос выдает одно и тоже..

    тоже одно и тоже (Другое однои тоже)
     
    #3 Befan, 2 Sep 2012
    Last edited: 2 Sep 2012
  4. Befan

    Befan New Member

    Joined:
    27 Mar 2012
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    САм решил свою проблему;
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Befan Расскажете потом, что станет с вашим сервером после 10к записей в базе и 10-20 одновременных посетителях
     
    _________________________
  6. Befan

    Befan New Member

    Joined:
    27 Mar 2012
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0

    предложите более оптимальное решение, (сам пака не нашел)
    а страшного думаю ничего небудет, т.к. это для вывода двух случайных картинок, приготовленных мною. и в базе их будет не более 50. (поэтому думаю ничего страшного не произойдет)
     
  7. Art!P

    Art!P Elder - Старейшина

    Joined:
    22 Jan 2008
    Messages:
    169
    Likes Received:
    28
    Reputations:
    5
    SELECT *
    FROM
    (SELECT * FROM picture_base WHERE picture_base.Host=1 ORDER BY RAND() LIMIT 1) as hst1,
    (SELECT * FROM picture_base WHERE picture_base.Host=2 ORDER BY RAND() LIMIT 1) as hst2;

    Вылезет одной строкой (столбы подряд). Возможно даже лучше, в клиенте не нужны циклы обработки
     
Loading...
Similar Threads - Mysql случайная запись
  1. GAiN
    Replies:
    3
    Views:
    7,447