No video

REAL SQL Interview PROBLEM by Capgemini | Solving SQL Queries

  Рет қаралды 77,194

techTFQ

techTFQ

Күн бұрын

In this video, I solve a REAL SQL Interview PROBLEM asked by Capgemini. This problem was shared with me by someone who took this interview.
Upcoming Data Science Bootcamp on OdinSchool:
hubs.la/Q02y4C_d0
In this problem, we are given information about Lifts and Passengers. We need to come up with the final list of passengers allowed to enter the lift based on the maximum capacity of the lift.
THANK YOU for watching!

Пікірлер: 163
@GamerShaggy
@GamerShaggy 3 ай бұрын
create table lifts ( id int , capacity_kg int ); insert into lifts values (1, 300); insert into lifts values (2, 350); create table lift_passengers ( passenger_name varchar(50) , weight_kg int , lift_id int ); insert into lift_passengers values ('Rahul', 85, 1); insert into lift_passengers values ('Adarsh', 73, 1); insert into lift_passengers values ('Riti', 95, 1); insert into lift_passengers values ('Dheeraj', 80, 1); insert into lift_passengers values ('Vimal', 83, 2); insert into lift_passengers values ('Neha', 77, 2); insert into lift_passengers values ('Priti', 73, 2); insert into lift_passengers values ('Himanshi', 85, 2);
@bankimdas9517
@bankimdas9517 3 ай бұрын
Thanks for providing script. This will definitely help most of us
@devendrabarasker4987
@devendrabarasker4987 3 ай бұрын
thank you for script
@2424rara
@2424rara 3 ай бұрын
Thoughtful and much needed
@pragatiaggarwal8103
@pragatiaggarwal8103 2 ай бұрын
Thank you so much :)
@riasingh11
@riasingh11 2 ай бұрын
You're an angel
@adilsheikh9916
@adilsheikh9916 24 күн бұрын
A great question & a great explained answer. But I find it funny that this was asked in Capgemini, either interviewee claimed to be very good in SQL or interviewer was frustrated from his/her job in Capgemini.
@Muchatla_rani3040
@Muchatla_rani3040 3 ай бұрын
Hi Thoufiq , I have been following your channel from past 1.5years it was helped me lot for sql and absolutely you are doing a great job .we all knew how much effort you are putting to create this series for sql and please try to create the same series for python also.Thank you so much for your hardwork☺️.
@techTFQ
@techTFQ 3 ай бұрын
Thanks Anusha .. appreciate your kind words.. I’ll think about your suggestions 👍
@Khader_views
@Khader_views 3 ай бұрын
Thoufiq you are the real mentor good teacher waiting for more videos and live advance SQL classes.😊
@sonalirajput417
@sonalirajput417 3 ай бұрын
I am an Odin student. No placement support nothing. It's been 3 months since I completed the course. Not a single vacancy I got in placement assistance. Anyway you are the best teacher after completing the course still clearing doubts from your videos.
@Sami34152
@Sami34152 3 ай бұрын
This is called real facts 😂😂😂
@grvdjkg
@grvdjkg 3 ай бұрын
people from iit, even after completing full time course are not getting placed. Doing these online course will not help. There was a time in the past when these quick certifications would work, but right now its not possible
@DivineDiction_
@DivineDiction_ 3 ай бұрын
Which Batch DS3A😄
@agarwalaarzoo3738
@agarwalaarzoo3738 3 ай бұрын
What they r telling regarding job assistance?
@snakesa1
@snakesa1 3 ай бұрын
Hi can we connect? I'm also from odinschool
@bushmaster75
@bushmaster75 Ай бұрын
Excellent Tutorial. Clear, concise and very useful ....
@shubhampalde8030
@shubhampalde8030 3 ай бұрын
Glad to see you back again sir 😌
@Damon-007
@Damon-007 3 ай бұрын
Ms sql: with cte as( select p.* ,l.weight, case when sum(weight_kg) over(partition by p.lift_id order by weight_kg) < l.weight then 1 else 0 end flag from passengers p inner join lift l on l.lift_id=p.lift_id) select lift_id, string_agg(passengername , ',') name from cte where flag=1 group by lift_id order by lift_id;
@Nizam_3210
@Nizam_3210 3 ай бұрын
Thanks Toufik, However You considered only one combination but There could be multiple combination from lift 1 of those having sum of weight
@FaisalAli-ps7th
@FaisalAli-ps7th 3 ай бұрын
+1 A solution with output as you mentioned would go better with the requirement of the question.
@rohithb65
@rohithb65 3 ай бұрын
with cte as (select * , sum(weight_kg) over(partition by lift_id order by weight_kg) runing from lift_passengers) select c.lift_id,group_concat(c.passenger_name) as passenger from cte as c join lifts as l on c.lift_id = l.id and l.capacity_kg >= c.runing group by c.lift_id
@bankimdas9517
@bankimdas9517 3 ай бұрын
Welcome back sir
@techTFQ
@techTFQ 3 ай бұрын
Thank you :)
@apppu1k221
@apppu1k221 Ай бұрын
for mysql - with cte as ( select * , SUM(weight_kg) OVER (partition by lift_id order by weight_kg) as running_weight from lift_passengers lp JOIN lifts ON lift_id = id) select lift_id, group_concat(passenger_name) as passengers from cte where running_weight
@raghavverma6074
@raghavverma6074 8 күн бұрын
😅
@gideon6319
@gideon6319 3 ай бұрын
Welcome back Touafiq
@techTFQ
@techTFQ 3 ай бұрын
Thank you :)
@swethathiruppathy9973
@swethathiruppathy9973 3 ай бұрын
Hi Sir, Thank you for your videos hereby sharing my solution with cte as ( select *,sum(weight_kg) over(partition by lift_id order by weight_kg) as running_weight from lift_passengers P join lifts L on p.lift_id =l.id ) select lift_id ,STRING_AGG(Passenger_name,',') as list_passenger from cte where running_weight
@Kirankumar-ml1ro
@Kirankumar-ml1ro 3 ай бұрын
with cte as ( select lp.passenger_name, lp.weight_kg, sum(weight_kg) over (partition by lift_id order by weight_kg) as cumu_sum,l.capacity_kg,lp.lift_id from lift_passengers lp join lifts l on l.id=lp.lift_id ) select lift_id,string_agg(passenger_name,' , ') from cte where cumu_sum
@malcorub
@malcorub 3 ай бұрын
For my fellow Americans Lift = Elevator. 😀 Welcome back Thoufiq!!!
@emmanueltondikatti8754
@emmanueltondikatti8754 2 ай бұрын
Well explained! Intuitive and to the point
@avijayreddy3401
@avijayreddy3401 3 ай бұрын
Thanks for the Beautiful SQL question. Here is my Solution to the Problem. WITH CTE as ( select p.*,l.*,SUM(weight_kg) OVER (Partition By id ORDER BY weight_kg) as Cumulative_Sum from lift_passengers p LEFT JOIN lift l ON p.lift_id = l.id) SELECT string_agg(passenger_name,',') as Passenger_Name from ( SELECT *,CASE WHEN Cumulative_Sum
@aspa18
@aspa18 3 ай бұрын
Could you please do a video where you explain the select statement or maybe the aggregates with group by and having ? Thank you for your work 🙏🏼
@oluseyeoyeyemisunday4890
@oluseyeoyeyemisunday4890 3 ай бұрын
drop table if exists lift; create table lift( id int, capacity_kg int ); drop table if exists lift_passengers; create table lift_passengers( passenger_name varchar(50), weight_kg int, lift_id int ); insert into lift values (1,300); insert into lift values (2,350); insert into lift_passengers values ('Rahul',85,1); insert into lift_passengers values ('Adarsh',73,1); insert into lift_passengers values ('Riti',95,1); insert into lift_passengers values ('Dheeraj',80,1); insert into lift_passengers values ('Vimal',83,2); insert into lift_passengers values ('Neha',77,2); insert into lift_passengers values ('Priti',73,2); insert into lift_passengers values ('Himanshi',85,2); select * from lift; select * from lift_passengers;
@RashmiBiradar-vr2cs
@RashmiBiradar-vr2cs 3 ай бұрын
Below method is using CTE and this works in Oracle SQL: with new_table as (select lp.*, sum(weight_kg) over (partition by lift_id order by weight_kg asc) as sum_weight from lift_passengers lp) select l.id, LISTAGG(nt.PASSENGERS_NAME, ',') from lift l inner join new_table nt on nt.sum_weight < l.CAPACITY_KG and nt.lift_id =l.id group by l.id
@makarsh29
@makarsh29 2 күн бұрын
good question
@debpatro
@debpatro 2 ай бұрын
How to retrieve all sets of lift passengers combinations for two sets of given lifts weight? It's an extension to the question??
@adarshnb618
@adarshnb618 18 күн бұрын
Excellent explanation
@shabbiransari7584
@shabbiransari7584 2 ай бұрын
Why do not you teach PL\SQL?
@user-uc9wp8mx3j
@user-uc9wp8mx3j 3 ай бұрын
with cte as (select *, sum(weight_kg) over (partition by lift_id order by weight_kg) as sum_weights from lift_passengers) ,cte2 as ( select c.passenger_name, l.id, case when c.sum_weights - l.capacity_kg
@shekhark1139
@shekhark1139 3 ай бұрын
Thanks ! You are back with new challenge , Thank you for the video, everytime I learn something new or different aporoach solving queries, thank you very much.
@jayakrishnachanumuru
@jayakrishnachanumuru 7 күн бұрын
Thank you sir
@anchal7876
@anchal7876 3 ай бұрын
with cte as (select lift_id,passenger_name,weight_kg,sum(weight_kg) over(partition by lift_id order by weight_kg) as cc, capacity_kg from lift_passengers join lifts on lift_passengers.lift_id=lifts.id ), cte2 as(select *,case when cc>capacity_kg then 'n' else 'y' end as 'ff' from cte ) select lift_id,string_agg(passenger_name,', ') as passengers from cte2 where ff'n' group by lift_id
@oluseyeoyeyemisunday4890
@oluseyeoyeyemisunday4890 3 ай бұрын
I miss your videos. Thank you for this one.
@anduamlaktadesse9284
@anduamlaktadesse9284 3 ай бұрын
My solution using SQL Server: with main as ( select lp.lift_id, l.capacity_kg, lp.passenger_name, weight_kg, sum(weight_kg) over(partition by lp.lift_id order by weight_kg range between unbounded preceding and current row ) as Total_Kg from lifts l inner join lift_passengers lp on l.id=lp.lift_id ), Overlift_Capacity_check as ( select * , case when Total_Kg < capacity_kg then 1 else 0 end as Overlift_Flag from main) select lift_id,STRING_AGG(passenger_name,',') as passengers from Overlift_Capacity_check where Overlift_Flag 0 group by lift_id;
@anuraghaldar128
@anuraghaldar128 29 күн бұрын
RITI as a girl is offended to be 95 KG 😂 , just kidding well explained sir , want more problems like this
@m.s.k5300
@m.s.k5300 3 ай бұрын
Capegemini interview very simple I have attended three times cleared three times as well
@srivishwa9189
@srivishwa9189 3 ай бұрын
For which role?
@sueyourself5413
@sueyourself5413 3 ай бұрын
Ouais, on te croit pas gros, sa sent la merde.
@1112electronics
@1112electronics 2 ай бұрын
Thanks for the great video 🎉
@chethan4160
@chethan4160 Ай бұрын
with paa as( select *, sum(weight_kg) over(partition by id order by id, weight_kg) runing_total from lift_passengers join lift on id=lift_id ), stg AS(select * from PAA where capacity_kg>=runing_total) select LIFT_ID, STRING_AGG(passenger_name, ',') from stg GROUP BY LIFT_ID
@dhrupadsaha4171
@dhrupadsaha4171 2 ай бұрын
justice for Riti 😢
@Abc22333
@Abc22333 Ай бұрын
😂
@GurleenKaur-eg7bh
@GurleenKaur-eg7bh 3 ай бұрын
Explanation is awesome 💯
@gawlianilnrayan
@gawlianilnrayan 3 ай бұрын
just for info.... ORDER BY can't use in CTE statement... correct me if i am wrong
@malcorub
@malcorub 3 ай бұрын
Within Post Gre SQL yes, but not SQL Server. But your also ordering it within the SUM(weight_kg) window function so you should be good either way.
@jagadeeswarareddy_sathi
@jagadeeswarareddy_sathi 3 ай бұрын
Thanks for the video ❤
@kummithavenkatareddy2302
@kummithavenkatareddy2302 26 күн бұрын
what about Lift_ID -- ( 80+85+95 < 300 ). this is also a combination, right? why can't we have this combination.
@shresthaupadhyay5739
@shresthaupadhyay5739 Ай бұрын
this question is there in the Ankit bansal's 100 sql question course
@akhilsingh5251
@akhilsingh5251 3 ай бұрын
with cte1 as ( select *, sum(weight_kg) over(partition by lift_id order by weight_kg) as running_sum from lift_passengers lp inner join lift l on lp.lift_id = l.id), cte2 as (select *, case when capacity_kg>= running_sum then 1 else 0 end as runn_sum from cte1) select id , STRING_AGG(passenger_name, ',') as total_pass from cte2 group by id
@tahakhalid324
@tahakhalid324 9 күн бұрын
Hi Toufeeq, Here is my Solution : with weights_per_lift as ( SELECT LP.Passenger_name, LP.Weight_kg, LP.Lift_id, L.CAPACITY_KG from LIFT_PASSENGERS LP join LIFT L on L.id=LP.LIFT_ID ) , max_person_per_lift_capacity as ( SELECT passenger_name, weight_kg, lift_id, sum(weight_kg)over(partition by lift_id order by weight_kg) as weights, capacity_kg from weights_per_lift ) SELECT lift_id, GROUP_concat(passenger_name separator ',') as Passengers from max_person_per_lift_capacity where capacity_kg >= weights GROUP by lift_id
@viveks288
@viveks288 3 ай бұрын
Hi sir , instead of using string_agg shall we use listag is that possible
@manikandanbalasubramanian6668
@manikandanbalasubramanian6668 2 ай бұрын
I too thinking the same
@chinmayjoshi5770
@chinmayjoshi5770 27 күн бұрын
For what designation and experience level was this for?
@bienfaitnkurunziza6941
@bienfaitnkurunziza6941 2 ай бұрын
Thank you bro👌
@ThePinanknagda
@ThePinanknagda 3 ай бұрын
Hey Toufiq, if we dont want to use the string_agg function, what other method can we use? My first thought came to use recurssive
@ujwalkumar4750
@ujwalkumar4750 3 ай бұрын
I would suggest you layoff is going in IT so wait atleast 3 month wherever you r
@Madhuripalug
@Madhuripalug 2 ай бұрын
Hi can you explain about the cursor
@daskurapati1601
@daskurapati1601 18 күн бұрын
wow great
@43_jaymohitepatil47
@43_jaymohitepatil47 2 ай бұрын
can we solve this problem without using window function
@ajaysubramaniam4453
@ajaysubramaniam4453 2 ай бұрын
for the sum aggregate function , inside over() with order by clause gives running total without order by clause gives total sum within the window why it is so???
@varunas9784
@varunas9784 Ай бұрын
Hi there, if you haven't found the answer yet, here's an explanation, All window functions have a default frame clause 'RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW' if not specified explicitly. So, when you write a window clause for Sum without an 'order by ' i.e.: Sum(weight_kg) over (partition by lift_id) , the SQL server, by default considers the ORDER BY clause to be ordered by "lift_id" and the frame clause to be 'RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW' therefore, the sum function operates in a window where weight is calculated for lift_id and also orders for lift_id automatically (since you didn't specify it explicitly). NOTE: 'Window/ frame clause, i.e., RANGE BETWEEN UNBOUNDED...' doesn't have any effect here, it only comes into play when order by column has repeated values and if you are in need to tell apart such rows of that column
@rajeevyadav1637
@rajeevyadav1637 3 ай бұрын
Let's begin
@shubhamgupta2246
@shubhamgupta2246 3 ай бұрын
for MySql with cte as (select * , sum(weight_kg) over(partition by id order by id,weight_kg) as cummulative_sum, case when capacity_kg>= sum(weight_kg) over(partition by id order by id,weight_kg) then 1 else 0 end as flag from lifts join lift_passengers on id=lift_id order by id,weight_kg) SELECT lift_id, GROUP_CONCAT(passenger_name ORDER BY passenger_name SEPARATOR ', ') AS passenger from cte where flag=1 group by lift_id;
@sivakumarisadineni3193
@sivakumarisadineni3193 3 ай бұрын
Hi sir, Could you update if you are working on any sql course like you mentioned in your previous servey? I have been waiting on update since that post
@Satish_____Sharma
@Satish_____Sharma 3 ай бұрын
Here is mysolution using MYSQL with cte as (select lp.passenger_name,lp.lift_id,sum(lp.weight_kg) over (partition by lp.lift_id order by lp.weight_kg) as wt,l.capacity_kg from lift_passengers lp left join lifts l on lp.lift_id=l.id) select lift_id,group_concat(passenger_name) as passenger_name from cte where wt
@gouthamstar6558
@gouthamstar6558 3 ай бұрын
with cte as ( select l.*,lp.*, sum(lp.WeightKG) over(partition by l.id order by l.id,lp.WeightKG) as w from LiftPassengers lp left join Lift l on lp.LiftID =l.ID ) select ID, STRING_AGG(PassengerName, ' , ') as passengers from cte where w< CapacityKG group by id
@gowri-uk1wd
@gowri-uk1wd 3 ай бұрын
with cte as (select *, sum(weight) over(partition by liftid order by weight) as r from lift_pas) select cte.liftid, string_agg(cte.name,',') as pas from cte join lift l on cte.liftid = l.id and cte.r
@nidazafarkhan8348
@nidazafarkhan8348 10 күн бұрын
plz share sql coding competition link , i want to participate ,
@mrbartuss1
@mrbartuss1 3 ай бұрын
Good to know you still remember your YT password!
@techTFQ
@techTFQ 3 ай бұрын
yeah, I am glad too :D
@saadabdulghani7390
@saadabdulghani7390 3 ай бұрын
Hi taufiq, I didn't get your solution. I'm little confused. Our task was to find the list of passengers who can be accomodated in lift without exceeding lift capacity, right? So, Shouldn't there be all the possible combinations for each lift 1 & 2, for e.g. for lift 1: { rahul, adarsh, riti},{rahul, adarsh,dheeraj},{adarsh, riti, dheeraj},{ rahul, riti, dheeraj} like that but in increasing order of weight?? Please clarify me. Thanks
@blse2000
@blse2000 3 ай бұрын
Exactly, I resonate you. Just asking this question here (out of curiosity) that, If we have to get all the possible combinations, Is it possible to achieve just by SQL alone? or should we be using any programming language like Python/Java etc? Please can anyone respond from this forum...
@Nnirvana
@Nnirvana 3 ай бұрын
+1
@rajathratnakaran7893
@rajathratnakaran7893 2 ай бұрын
Exactly my thought as well when i first read the question. But then why would they give lift id against the passengers. I guess we will need to accommodate Riti (in this case) on a separate row, with lift id 1, which will make more sense (Unlike the sample output).
@DiwakarLearn
@DiwakarLearn 2 ай бұрын
Is this String_agg function will work on all the environments
@Ggghhddd
@Ggghhddd 2 ай бұрын
when i using my phone and iam sleeping ,iam struggled a lot in my area they are create sleeping and they are too much struggle for me and my son.
@saib7231
@saib7231 3 ай бұрын
same question in meesho also asked
@prasadmekala258
@prasadmekala258 2 ай бұрын
How many experience he had on this sql
@raishabanu
@raishabanu 15 күн бұрын
Sir please don't advertise odin they are taking only basic. I completed last month. No deeper knowledge at all.
@abhishekn2048
@abhishekn2048 3 ай бұрын
I am a beginner but in know thw concepts but i am not able to implement plz help me
@sandhanamurali444
@sandhanamurali444 Ай бұрын
Hi I want to learn your bootcamp SQL can share the details please
@ArghyadeepPal92
@ArghyadeepPal92 3 ай бұрын
My solution :- 1)On ms sql server with t1 as (select li.id, sum(weight_kg)over(partition by lift_id order by weight_kg) as cum_sum,passenger_name,li.capacity_kg from lift_passengers as lp join lifts as li on lp.lift_id=li.id) select id, STRING_AGG(passenger_name,',') as passengers from t1 where cum_sum
@premakolia
@premakolia 3 ай бұрын
how would you estimate the level of this task? (beginner, intermediate etc). thanks
3 ай бұрын
Intermediate
@selvitw7404
@selvitw7404 2 ай бұрын
Can any one help me on which SQL, this problem is solved, because i tried with Oracle Sql not able to solve it.
@shivaprasad-kn3kw
@shivaprasad-kn3kw 3 ай бұрын
here is my solution with CTE as ( select name, weight , liftid, capacity from lift_passengers a join lifts b on a.liftid = b.id) ,CTE2 as ( select name, weight, liftid, capacity, sum(weight) over(partition by liftid order by weight) cumm_weight from CTE) select liftid, string_agg(name, ',') as passengers from CTE2 where cumm_weight
@user-dw4zx2rn9v
@user-dw4zx2rn9v 3 ай бұрын
MySql Solution: with cte as ( select passenger_name, weight_kg, lift_id, capacity_kg, sum(weight_kg) over (partition by lift_id rows between unbounded preceding and current row) as cum_sum from lift_passengers as lp inner join lifts as l on l.id = lp.lift_id ) ,cte2 as ( select * from cte where cum_sum < capacity_kg ) select lift_id, group_concat(passenger_name) as passengers from cte2 group by lift_id
@vishnureddy1491
@vishnureddy1491 3 ай бұрын
with cte as( select *,sum(weight_kg) over(partition by id order by weight_kg) as cum_sum,if(capacity_kg>=sum(weight_kg) over(partition by id order by weight_kg),1,0)as flag from lift2 as e join lift_passengers2 as f on e.id=f.lift_id) select lift_id,string_agg(passengers_name,',') from cte where flag=1 group by lift_id; string_aggregate is not working th sql workbench , can we use any alternative other than string_agg() function?
@srikanthkalluri318
@srikanthkalluri318 2 ай бұрын
in MYSQL group_concat with group by
@kungfubala
@kungfubala 3 ай бұрын
Good job
@sapnasaini851
@sapnasaini851 3 ай бұрын
dataset ?
@narendrashekhavat
@narendrashekhavat 2 ай бұрын
I am bit late to post answer but enjoy your problems. i didn't still watch full but here it is my answer: with cte_1 as ( Select * from ( Select Name,ID,capacity,total, flag_sum,case when flag_sum>capacity then 'N' else 'Y' end as flag from( Select Name,ID,capacity,total,sum(total) over (partition by id,capacity order by total) as flag_sum from ( Select Name,ID,capacity,weight as total from Lift_passenger join lift on lift_id=id ) A)B)C where Flag'N') --Select ID,Name from cte_1; Select distinct A.ID,STUFF((Select distinct ', '+B.Name from CTE_1 B where A.id=B.id for XML path (''),TYPE ).value('.', 'NVARCHAR(MAX)'),1,2,'') Passenger from CTE_1 A Happy Learning☺
@PrayasPikalmunde
@PrayasPikalmunde 2 ай бұрын
Justice for riti 😮
@DEwithDhairy
@DEwithDhairy 3 ай бұрын
Pyspark Version of this problem : kzfaq.info/get/bejne/ZtRnlKp_u6nYgpc.htmlsi=hnpqw1o3yiNLUWi2
@unnamamarkrishna827
@unnamamarkrishna827 3 ай бұрын
Nice one
@techTFQ
@techTFQ 3 ай бұрын
Thanks 🔥
@pradeepvadlakonda007
@pradeepvadlakonda007 Ай бұрын
select lift_id,group_concat(passengername) from (select l.id as lift_id,l.capacity_kg,lp.lift_if,lp.passenger_name as passengername,lp.weight_kg, sum(lp.weight_kg) over(partition by lp.lift_if order by lp.weight_kg asc) as total_weight, case when l.capacity_kg>sum(lp.weight_kg) over(partition by lp.lift_if order by lp.weight_kg asc) then 1 else 0 end as wight_req from lift l join lift_passengers lp on l.id=lp.lift_if) as x where wight_req=1 group by 1;
@insane_billa
@insane_billa 8 күн бұрын
Riti sidhi se jaegi ab 😅
@ashurathi9286
@ashurathi9286 3 ай бұрын
Arey ye zindaa hain
@Munna_007
@Munna_007 3 ай бұрын
Bhai Jan Hindi mein kyon Nahin content banate ho Hindi mein
@NabeelKhan-um1zk
@NabeelKhan-um1zk 3 ай бұрын
create table details as (with a as (select * , row_number() over(partition by lift_id order by weight asc) as ranks from passenger) select * , sum(weight) over(partition by lift_id order by ranks) as running_weight from a ); select * from details; with a as ( select passenger_name , lift_id from detailsss where running_weight
@ishashaw2561
@ishashaw2561 Ай бұрын
My Solution: with cte as (select l.PASSENGER_NAME, l.WEIGHT_KG, sum(WEIGHT_KG) over(partition by l.lift_id ORDER BY l.PASSENGER_NAME rows between unbounded preceding and current row) as cur_wt_on_lift, l2.id, l2.CAPACITY_KG from lift_passengers l join lifts l2 on l.LIFT_ID = l2.id), cte2 as(select id, PASSENGER_NAME from cte where CAPACITY_KG >= CUR_WT_ON_LIFT) select id, listagg(PASSENGER_NAME, ',') as PASSENGER_NAME from cte2 group by id
@TonnyPodiyan
@TonnyPodiyan 14 күн бұрын
with primary_table as (Select lp.*,capacity_kg from lift_passengers lp left join lifts l on lp.lift_id=l.id), cum_weight_table as (Select passenger_name, lift_id, capacity_kg, sum(weight_kg) over (PARTITION by lift_id order by weight_kg asc rows between unbounded preceding and current row) as cum_weight from primary_table), flag_table as (Select *, case when cum_weight
@chaitusai7674
@chaitusai7674 3 ай бұрын
select lp.passenger_name+',', lp.lift_id from lift_passengers lp join lift l on lp.lift_id=l.id where sum(weight_kg)
@shivanitiwari8349
@shivanitiwari8349 Ай бұрын
with cte as (select*, count(*) as sums from Trips join Users on client_id = users_id where banned = 'No' group by request_at) select cte.request_at 'Day', round(count(id)/cte.sums, 2) 'Cancellation Rate' from cte where cte.status in ('cancelled_by_driver', 'cancelled_by_client') group by request_at; Can someone please find the error in this code I am getting runtime error saying "FROM keyword not found where expected"
@devg7929
@devg7929 3 ай бұрын
select id, group_concat(name) from ( select *, sum(wt) over(partition by id order by wt) sop from ( select lp.name, lp.wt, l.id, l.capacity from lift_passengers lp inner join lift l on l.id = lp.lift_id )a)b where sop < capacity group by 1 for mysql
@iamkiri_
@iamkiri_ 3 ай бұрын
My Solution with cte as ( select lp.*, l.capacity_kg , sum(weight_kg) over(partition by lift_id order by weight_kg) as rollsum from lift_passengers lp left join lifts l on lp.lift_id = l.id ) select lift_id , string_agg(passenger_name, ',') from cte where capacity_kg >= rollsum group by lift_id ;
@office4321
@office4321 3 ай бұрын
passenger p on l.id = p.lift_id isnt? May I know why he didn't mentioned their l. p.but still it worked?
@Nnirvana
@Nnirvana 3 ай бұрын
It works fine unless there's any ambiguity in the column names. Since they're different, it's okay not to mention the table names.
@office4321
@office4321 3 ай бұрын
@@Nnirvana Eye opener, where do I get to know these minor quirks?
@Nnirvana
@Nnirvana 3 ай бұрын
@@office4321 I'm not aware of any particular resource, I think it comes with experience. I remember myself too getting amazed at some things which were new to me.
@Mathematica1729
@Mathematica1729 3 ай бұрын
Soln in MYSQL:- SELECT LIFT_ID , group_concat(PASSENGER_NAME SEPARATOR ' , ') AS PASSENGERS FROM (SELECT *, SUM(WEIGHT_KG) OVER (partition by LIFT_ID order by WEIGHT_KG ) as r_sum FROM lift_passengers p JOIN lift l on p.LIFT_ID = l.id)h where r_sum < capacity GROUP BY LIFT_ID;
@Harish0402
@Harish0402 3 ай бұрын
with cte as( select lift_id,passenger_name from (select lift_id,capacity_kg, passenger_name,sum(weight_kg) over( partition by lift_id order by weight_kg)r from lift_passengeres inner join lift on id=lift_id) where r
@gnaneshwarg8552
@gnaneshwarg8552 3 ай бұрын
with cte_running_weight as ( select *, sum(weight_kg) over(partition by lift_id order by weight_kg) as cumulative_weight from lift_passengers lp ) select lift_id, string_agg(passenger_name,', ' order by weight_kg) as passengers from cte_running_weight cte join lifts l on l.id = cte.lift_id and l.capacity_kg>=cumulative_weight group by lift_id;
@falahanwarkhan8223
@falahanwarkhan8223 3 ай бұрын
With CTE AS (SELECT B.lift_id,B.passenger_name,B.weight_kg, Sum(B.weight_kg)over(partition by A.id order by B.lift_id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as RN from lifts A left Join lift_passengers B on A.id = B.lift_id), CTE2 as (Select lift_id, (case when RN < 300 and lift_id = 1 then passenger_name WHEN RN < 350 and lift_id = 2 then passenger_name else NULL END) as RT2 from CTE) SELECT lift_id, String_agg(RT2, ',') as logo from CTE2 group by lift_id;
@KIYASUDEENJAMALM
@KIYASUDEENJAMALM 2 ай бұрын
WITH tab AS( SELECT id, passenger_name, capacity_kg, SUM(weight_kg) OVER(PARTITION BY lift_id ORDER BY weight_kg ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS tot FROM lift_passengers T JOIN lifts L ON T.lift_id = L.id), cte_2 AS( SELECT * FROM ( SELECT id, CASE WHEN tot< capacity_kg THEN passenger_name ELSE NULL END AS passenger_name FROM tab) AS X WHERE passenger_name IS NOT NULL) SELECT id, group_concat(passenger_name) AS passenger_name FROM cte_2 GROUP BY id;
@rajansingh-fw3lp
@rajansingh-fw3lp 3 ай бұрын
with cte as ( select id, lift_id, passenger_name,capacity_kg, weight_kg,sum(weight_kg) over(partition by id order by id, weight_kg rows between unbounded preceding and current row) as cum_sum from lift_tst L join lift_passengers_tst P on l.id=p.lift_id order by id, weight_kg) select lift_id,listagg(passenger_name,',') as passengers from cte where cum_sum
@aarizkhan9471
@aarizkhan9471 3 ай бұрын
Sir i want to talk to you send me your contact. regarding sql queries and sql concepts
@SHUBHAM_707
@SHUBHAM_707 25 күн бұрын
#* Easiest Solution *# with cte as( select *, sum(weight_kg) over(partition by id order by weight_kg) cum_weight from lift_passengers p left join lifts l on p.lift_id = l.id ) select id, STRING_AGG(passenger_name, ',') WITHIN GROUP (ORDER BY weight_kg) passenger_list from cte where capacity_kg >= cum_weight group by id
SQL Interview Problem asked during Amazon Interview
15:15
techTFQ
Рет қаралды 23 М.
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 36 МЛН
what will you choose? #tiktok
00:14
Анастасия Тарасова
Рет қаралды 5 МЛН
Running With Bigger And Bigger Feastables
00:17
MrBeast
Рет қаралды 164 МЛН
The 25 SQL Questions You MUST Know for Data Analyst Interviews
32:47
KSR Datavizon
Рет қаралды 215 М.
6 SQL Joins you MUST know! (Animated + Practice)
9:47
Anton Putra
Рет қаралды 145 М.
Solving SQL Interview Queries | Tricky SQL Interview Queries
37:22
Super Interesting SQL Problem | Practice SQL Queries
18:24
techTFQ
Рет қаралды 22 М.
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 36 МЛН