Я делаю следующий запрос:запроса с подзапрос не возвращает все результаты
SELECT id, name, keyt
FROM table
WHERE id = (SELECT t2.id FROM table t2 WHERE t2.keyt=21 ORDER BY RAND() LIMIT 1)
Предположив таблица выглядит так:
| id | name | keyt |
+ ------------------------- +
| 1 | Hello | 21 |
| 3 | Katzet | 1 |
| 1 | Welcome | 1 |
| 2 | Two | 21 |
| 2 | Other | 1 |
Он должен возвращение один из этих пар:
- Hello | Добро пожаловать (id)
- Два | Другой (ID общих)
Итак, идея:
Получить один идентификатор, который имеет значение keyt
набора до 21
Затем получить все строки с этим выбранным идентификатором (независимо от всех других Keyt значений)
Если я, как вы предложили ... Я бы получить смешанные идентификаторы значения, и все строки результата должны иметь одинаковый идентификатор .
Ну, хороший. Это отлично работает. Но, пожалуйста, коротко объясните мне, почему другой вариант не был точным? Большое спасибо :) –
Извините, я не знаю – Strawberry