Click here to Skip to main content
15,898,134 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have created the tables as :-

Table name -
Agency – Agency_Id, Agency_Loc- The locations are Hyderabad, Chennai and Bangalore
Customers -Customerid, Customer_Name, Cust_Address, Cust_Number, Agency_Id
Rentals- Rental_Id, Rent_Srt_Date, Rent_Ret_Date, Customerid, Agency_Id

What I have tried:

I am struggling a bit in writing the query for this question. Can anyone please help?
Posted
Updated 15-Apr-21 10:51am

This code should work:

SQL
select max(rentalcount) into @maxrental from (select count(*) as rentalcount from rentals where year(rent_srt_date)=Yeartofind group by customerid) as rentaltable;
select customerid,customer_name,rental_id from 
(select customerid,customer_name,rental_id,count(*) as rentalscount from customers inner join rentals on customers.customerid=rentals.customerid where year(rent_srt_date)=Yeartofind group by customers.customerid order by rentalcount desc) as rentalsgroup 
where rentalscount=@maxrental;


You can also make an stored procedure and call it:
SQL
CREATE PROCEDURE `TopRental` (
vYear integer)
BEGIN
declare vMaximun integer default 0;
select max(rentalcount) into vMaximun from (select count(*) as rentalcount from rentals where year(rent_srt_date)=vYear group by customerid) as rentaltable;
select customerid,customer_name,rental_id from 
(select customerid,customer_name,rental_id,count(*) as rentalscount from customers inner join rentals on customers.customerid=rentals.customerid where year(rent_srt_date)=vYear group by customers.customerid order by rentalcount desc) as rentalsgroup where rentalscount=vMaximun;

END


Then if you want ton know top rentals for year 2020, you write:
SQL
Call TopRental(2020);
 
Share this answer
 
v2
Comments
Dave Kreskowiak 15-Apr-21 17:36pm    
I'm going to recommend you NOT do peoples homework assignments for them. You're really not helping them.
We are more than willing to help those that are stuck: but that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.

So we need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.

If you are having problems getting started at all, then this may help: How to Write Code to Solve a Problem, A Beginner's Guide[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900