У меня есть такая таблица:
shopID supplier supply_count
1 a 12
1 b 10
1 c 8
1 d 7
2 b 12
2 f 12
2 e 10
3 b 5
3 a 2
4 f 15
4 c 11
Я использовал функцию not in следующим образом:
where supply_count NOT IN (select max(supply_count) from supply)
Однако только первая строка показывает 2-е наибольшее значение в результате, остальные строки по-прежнему показывают наибольшее значение:
shopID supply_count
1 10
2 12
3 5
4 15
Мой ожидаемый результат - найти второе по величине количество поставок для каждого магазина, как это:
shopID supply_count
1 10
2 12
3 2
4 11
Так, у кого-нибудь есть предложения? спасибо!