У меня есть таблица mysql (результаты) с шестью столбцами вроде этого:
+----+-------+-------+-------+-------+-------+
| id | can_1 | can_2 | can_3 | can_4 | can_5 |
+----+-------+-------+-------+-------+-------+
| 1 | 1 | 0 | 2 | 4 | 3 |
+----+-------+-------+-------+-------+-------+
| 2 | 2 | 1 | 5 | 3 | 4 |
+----+-------+-------+-------+-------+-------+
| 3 | 3 | 1 | 0 | 0 | 0 |
+----+-------+-------+-------+-------+-------+
| 4 | 0 | 2 | 1 | 0 | 3 |
+----+-------+-------+-------+-------+-------+
Я пытаюсь получить строки с наименьшим значением больше 1 из Столбец can_1 в зависимости от того, какие значения хранятся в каждой строке.
Например: can_1 необходимо вернуть строки (id) 2 и 3, поскольку 2 - это минимальное значение в строке 2, а 3 - это минимальное значение строка 3.
Использование
SELECT id FROM results WHERE can_1 = (SELECT MIN(can_1) FROM results);
возвращает
+----+
| id |
+----+
| 2 |
+----+
Это понятно - MIN-значение проверяет минимальное значение больше 1 во всем столбце ( can_1), что равно 2 в случае can_1. Но как мне это объединить, чтобы минимальное значение строки всей (охватывающей все столбцы) определяло, какие минимальные значения возвращать для столбца can_1, ie. чтобы результат был таким?
+----+
| id |
+----+
| 2 |
+----+
| 3 |
+----+