Как выбрать столбец ORDER BY и RAND () как?

Привет дорогие друзья.

mysql_query("SELECT id FROM tb_table ORDER BY num ASC, ORDER BY RAND() LIMIT 1");

правильно ли это кодирование? Я хочу найти все строки ASC num и может быть 1000 строк, число которых равно 1 другому 1000, что num равно 2. Но я хочу, чтобы он сначала сортировал ASC как 1s и выбирал один из них случайным образом.

6

1 ответы

Вам нужно только указать ORDER BY один раз.

mysql_query("SELECT id FROM tb_table ORDER BY num ASC, RAND() LIMIT 1");
10
добавлено
Является ли этот SQL эффективным? Или введение RAND() делает его намного медленнее?
добавлено автор zed, источник
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw

SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)