Как я могу запросить таблицу SQL с несколькими условиями и получить не более 1 элемента для каждого условия?MySql

Форум по Mysql
Ответить
Anonymous
 Как я могу запросить таблицу SQL с несколькими условиями и получить не более 1 элемента для каждого условия?

Сообщение Anonymous »

У меня есть таблица MySQL следующей структуры:

Код: Выделить всё

+------------+--------------+
| Field      | Type         |
+------------+--------------+
| id         | varchar(20)  |
| make       | varchar(255) |
| model      | varchar(255) |
| color      | varchar(20)  |
+------------+--------------+
Я хочу запросить результаты, чтобы получить перестановку любого цвета Toyota, Honda или Mazda, а также синего цвета< /code> или Red, однако я хочу видеть ограничение в 3 случайных записи каждой из этих комбинаций. Например, я потенциально мог бы получить в результате следующее:

Код: Выделить всё

+-------------------+
| Make    |  Color  |
+-------------------+
| Toyota  |   Red   |
+-------------------+
| Toyota  |   Red   |
+-------------------+
| Toyota  |   Blue  |
+-------------------+
| Honda   |   Red   |
+-------------------+
| Mazda   |   Blue  |
+-------------------+
| Mazda   |   Red   |
+-------------------+
| Honda   |   Blue  |
+-------------------+
Мне не обязательно важен порядок результатов, но я хочу иметь возможность извлекать перестановки случайным образом с ограничением на количество возвращаемых перестановок.< /p>
Есть ли [простой] способ сделать это с помощью запроса, который можно сгенерировать на лету? Альтернативно, я открыт для идеи выполнения нескольких запросов, а затем самостоятельного объединения их в коде, но, насколько я понимаю, несколько запросов не очень производительны? Хотя производительность определенно вызывает беспокойство, мне хотелось бы, если это возможно, обеспечить баланс читаемости кода и сложности запросов.

Подробнее здесь: https://stackoverflow.com/questions/793 ... most-1-ite
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»