У меня есть следующая таблица:запросов с помощью группы по SQL в
ReviewID | Author_id | Posted time ------------------------------------- R1 | U1 | ... R2 | U2 R3 | U2 R9 | U7 R11 | U7 R12 | U7 R13 | U8 R14 | U10
Мой запрос таково, что я хочу получить U7. Я пытался со следующими:
select author_id
from posted_reviews_tab
group by author_id
having (count(author_id)) in (
select max(count(author_id))
from posted_reviews_tab
where reviewid in (
select w.reviews.reviewid
from wall_tab w
where w.shopid = 'S9'
)
group by author_id
);
магазин s9 имеет 4 отзыва R11, R12, R13, R14 на своей стене. В приведенной выше таблице показано, какой пользователь опубликовал этот обзор. Из моего стенного стола я узнаю, в каком магазине есть все отзывы, написанные на его стене. Итак, как только я получу все отзывы, я хочу узнать пользователя, разместившего наибольшее количество отзывов (что является U7) Выше запрос дает мне U2, так как максимальное количество равно 2. (2 becoz u7 post R11 и R12) Can кто-нибудь предлагает обходной путь?
почему вы использовали 'MAX (COUNT (AUTHOR_ID))' ?? Не имеет для меня никакого смысла. – TechBytes
Итак, что именно вы хотите на английском? Вы просто хотите, чтобы authorID с наибольшим количеством отзывов от shopID s9? или что? – Scotch
Да, автор ID пользователя, который отправил большинство отзывов от shopID s9. – Margi