I need to create a derived table and calculate the avg, max, and total number of rides a user has taken using the travels table. The results should add the distinct USER_ID's to the average rides a user has take, the maximum rides a single user has taken, and the total rides all users have taken.
[Current Query]
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;
[Expected Results]
Average 1.5714 | Maximum 2 | Total 11
CodePudding user response:
In the inner query count the number of travels for each user using group by
, after that you can do the final aggregations.
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