SQL-запрос среднего, максимального и общего количества поездок, совершенных пользователями

Мне нужно создать производную таблицу и рассчитать среднее, максимальное и общее количество поездок, которые совершил пользователь, используя таблицу путешествий. Результаты должны добавлять различные идентификаторы USER_ID к среднему количеству поездок, совершенных пользователем, максимальному количеству поездок, совершенных одним пользователем, и общему количеству поездок, совершенных всеми пользователями.

SQL-запрос среднего, максимального и общего количества поездок, совершенных пользователями

[Текущий запрос]

SELECT
  COUNT(TRAVEL_ID) AS NUM,
  DISTINCT USER_ID  
FROM 
  (SELECT 
          AVG(NUM) AS Average,
          MAX(NUM) AS Maximum,
          NUM AS Total
   FROM TRAVELS) AS a;
   

[Ожидаемые результаты]

Средний 1,5714 | Максимум 2 | Всего 11

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во внутреннем запросе подсчитайте количество поездок для каждого пользователя с помощью group by, после чего вы можете сделать окончательные агрегации.

select
    avg(cnt) as average,
    max(cnt) as maximum,
    sum(cnt) as total
from (
    select 
        USER_ID,
        count(TRAVEL_ID) as cnt
    from TRAVELS
    group by
        USER_ID
) as a

Ясно, тогда я могу использовать агрегатные функции только после создания в производной таблице? Спасибо!

Devin Culp Corasair 27.11.2022 00:49

Производная таблица также содержит агрегатную функцию (счетчик). Дело в том, что вам нужно сначала получить информацию об уровне USER_ID, после чего вы можете выполнять дальнейшие агрегации. Пожалуйста, дайте мне знать, если это сработает, или примите мой ответ, если это сработает.

tanksapka 27.11.2022 11:57

Да, это сработало, я застрял на этом на несколько часов, поэтому я благодарен за помощь!

Devin Culp Corasair 27.11.2022 18:12

Другие вопросы по теме