Для приведенных ниже образцов данных, пожалуйста, помогите мне найти человека, который съел больше яблок, чем бананов? введите описание изображения здесь
Как, например, на прикрепленном изображении данных, Джон и Рита съели больше яблок, чем бананов. Я написал запрос для того же, но с внутренним запросом. Я думал об альтернативном оптимальном решении.
WITH DATA AS (
SELECT 'Jhon' name, 'Banana' FRUIT, SYSDATE eatingTime FROM dual UNION ALL
SELECT 'Jhon' name, 'Banana' FRUIT, SYSDATE eatingTime FROM dual UNION ALL
SELECT 'Jhon' name, 'Apple' FRUIT, SYSDATE eatingTime FROM dual UNION ALL
SELECT 'Jhon' name, 'Apple' FRUIT, SYSDATE eatingTime FROM dual UNION ALL
SELECT 'Jhon' name, 'Apple' FRUIT, SYSDATE eatingTime FROM dual UNION ALL
SELECT 'Rita' name, 'Apple' FRUIT, SYSDATE eatingTime FROM dual UNION ALL
SELECT 'Jack' name, 'Apple' FRUIT, SYSDATE eatingTime FROM dual UNION ALL
SELECT 'Jhon' name, 'Banana' FRUIT, SYSDATE eatingTime FROM dual
)
SELECT name FROM DATA p
WHERE
(SELECT count(*) FROM DATA b WHERE b.FRUIT= 'Banana' AND b.name = p.name) <
(SELECT count(*) FROM DATA a WHERE a.FRUIT= 'Apple' AND a.name = p.name)