Есть таблица с пользователями: mysql_query("CREATE TABLE `table_users` ( id_user BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, avatar VARCHAR(255) CHARACTER SET UTF8 COLLATE utf8_unicode_ci, PRIMARY KEY (id_user))TYPE=MyISAM CHARACTER SET UTF8 COLLATE 'utf8_unicode_ci'") Если avatar не пусто то значит, у пользователя есть фото. Нужно вывести рандомно 10 пользователей у которых есть фото а если пользователей с фото всего 6 то нужно вывести сначало 6 с фото а потом 4 без фото. То есть это для того чтобы показывать 10 случайных пользователей. И я хочу, чтобы в самом верху были сначало те кто с фото а потом те кто без фото и причём в случайном порядке.
Лажо, первая сортировка будет по аватару, по алфавиту. Наличие авы нужно в условие ставить. А потом еще один запрос, если результатов меньше 10.
нет не лажа. выведет сначала тех, у кого аватарка есть, строка (1) больше пустой строки (0). строки с аватаркой будут выше
Лажо, если автаркии будут более чем у 10 пользователей всегда будут выводится одни и те же по алфавиту названий аватарок (строка 255), а нужен рандом Если уж так хочется одним запросом нужно делать вычисляемое поле, которое принимает значения 0 и 1, в зависимости от того есть ава или нет, и сортировать по нему. Но 2 простых запроса для базы будут легче
а после DESC, вы не заметили RAND() ? Добавлено спустя 1 минуту 41 секунду: проверил на 8 тыс записей. тупости бд не обнаружено. а выше... не думаю что у ТопикСтартера будет в обозримом будущем пользователей больше 10 тыс, а когда будет, он и сам поймет как сделать. запрос сделал свою работу? сделал. предлагаю закрыть тему
заметили. а вот как ты это себе представляешь, сортировать по убыванию но случайно??? не проканает, мускль не блондинко твой запрос проверен, не катит.