Ограничить результаты, удалив дубликаты, но сохранить самый высокий из дубликатов?

Не очень уверен, как это объяснить очень хорошо в названии.

Примечание: я использую PHP и PDO для запросов к базе данных sql.

У меня есть таблица со списком чисел, которые не являются уникальными, и 2-й столбец с номером, который я хочу только самое высокое из — и только если самое высокое из них больше 50, например:

0 - 50
0 - 80
1 - 24
1 - 88
2 - 11
2 - 44

Из вышесказанного хотелось бы только 0 - 80 а также 1 - 88 вернулся, что является хорошим способом достижения этого?

Я могу думать только о неэффективном методе, который возвращает все строки, а затем сравнивает одно за другим, добавляя значения в массив и заменяя их, если в цикле существует более высокий из них.

0

Решение

Проверьте:

SELECT DISTINCT col1, MAX(col2) maximus
FROM my_table
GROUP BY col1
HAVING maximus > 50
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector