даже незнал как сформулировать заголовок.. ну в общем у меня есть таблица: и мне необходимо получить из неё две случайные записи, одну с Host=1 Другую c Host=2; как сделать это или одним запросом, или в два запроса; но чтобы одна запись имела Host=1 Другая Host=2; -не катит (а как мне добавить условие Host=1 или 2 ? к Rand()
to Befan Code: SELECT * FROM tTable WHERE Host=1 AND Host=2 ORDER BY RAND() LIMIT 1; Что сложного то?
Пробовал, но тут косяк Всеравно косячит. выдет одни и теже записи на на этот запрос выдает одно и тоже.. тоже одно и тоже (Другое однои тоже)
Befan Расскажете потом, что станет с вашим сервером после 10к записей в базе и 10-20 одновременных посетителях
предложите более оптимальное решение, (сам пака не нашел) а страшного думаю ничего небудет, т.к. это для вывода двух случайных картинок, приготовленных мною. и в базе их будет не более 50. (поэтому думаю ничего страшного не произойдет)
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; Вылезет одной строкой (столбы подряд). Возможно даже лучше, в клиенте не нужны циклы обработки