Никак не могу реализовать такой запрос: необходимо вывести id пользователя, у которого максимальное количество друзей.
Есть такая таблица:
user_one user_two type
5 6 1
6 5 1
12 6 1
7 34 1
34 7 1
12 7 2
34 7 2
Когда делаю так, все ок:
SELECT COUNT(*) AS counted
FROM `friends`
WHERE `type`='1' AND `user_two`='6'
OR `type`='1' AND `user_one`='6'
Но я хочу сделать так, чтобы был подсчет всех записей для отдельных пользователей и выведено максимальное их количество. То есть, так чтобы мне вывело id пользователя(он может быть и user_one и user_two. то есть с этими полями разница в том,что они показывают кто отправил запрос) у которого type=1
. Надеюсь понятно объяснил, заранее спасибо!
select user_ -- , cnt
from (
select user_, count(*) as cnt
from (
select user_, user_two from(
select user_one as user_, user_two from friends where type = 1
union all
select user_two, user_one from friends where type = 1
) as t
group by user_, user_two) as t
group by user_) as t
order by cnt desc, user_ asc
limit 1
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Для того чтобы проверить что метод был вызван мы вызываем verify(mock)method()
Хочу заняться изучением языков программирования Java и PythonЧасто ли используется в этих языках математика, для написание ПО
при выполнении копирует в окно место где окно находилось во время старта программы