У меня есть следующие таблицы (упрощение реальной проблемы):Как выбрать только первые элементы, удовлетворяющие условию?
+----+-------+
| id | value |
+----+-------+
| 1 | T |
| 2 | T |
| 3 | F |
| 4 | T |
+----+-------+
Теперь простой SELECT id FROM Table WHERE value='T';
бы получить мне все идентификаторы, где значение Т, но мне просто нужно, в приведенном выше примере, первые 2 (1 и 2).
Каков наилучший способ для этого? Я бы предпочел не использовать цикл while.
Я отметил его MySQL, но решение, работающее для большинства движков баз данных, было бы лучше.
Редактировать: на основании ответов я, вероятно, был недостаточно ясен:
Мне нужны только первые идентификаторы, где значение равно «T». Это может быть что угодно: от значений до всех значений.
Изменить 2: Еще один пример:
+----+-------+
| id | value |
+----+-------+
| 1 | F |
| 2 | T |
| 5 | T |
| 6 | F |
| 7 | T |
| 9 | T |
+----+-------+
В результате будет [].
Пример 3:
+----+-------+
| id | value |
+----+-------+
| 1 | T |
| 2 | T |
| 5 | T |
| 6 | F |
| 7 | T |
| 9 | T |
+----+-------+
И результат: [1, 2, 5]
Я обновил свой ответ с обновленными требованиями. –