Не очень уверен, как это объяснить очень хорошо в названии.
Примечание: я использую PHP и PDO для запросов к базе данных sql.
У меня есть таблица со списком чисел, которые не являются уникальными, и 2-й столбец с номером, который я хочу только самое высокое из — и только если самое высокое из них больше 50, например:
0 - 50
0 - 80
1 - 24
1 - 88
2 - 11
2 - 44
Из вышесказанного хотелось бы только 0 - 80
а также 1 - 88
вернулся, что является хорошим способом достижения этого?
Я могу думать только о неэффективном методе, который возвращает все строки, а затем сравнивает одно за другим, добавляя значения в массив и заменяя их, если в цикле существует более высокий из них.
Проверьте:
SELECT DISTINCT col1, MAX(col2) maximus
FROM my_table
GROUP BY col1
HAVING maximus > 50
Других решений пока нет …