Master the art of SQL with my zero to hero SQL for data analytics course. www.namastesql.com/course-detail/think-sql-go-from-zero-to-hero-english
@as-youtuber62152 жыл бұрын
Man you might don't know how much you are helping other people. True gem
@ankush_in_sync59984 ай бұрын
One of the unique thing Ankit sir does is giving the table script in the description. By this we can copy the script and practice. Thank you.
@ankitbansal64 ай бұрын
Cheers 🥳
@sanchitvaid7017 Жыл бұрын
I was asked this question in an interview (US based Health insurance company) but I only knew how to solve it using Pivot function and could not answer it. I wish if I had found this video sooner!
@bhooshan25 Жыл бұрын
Practising from your videos before my interview. Thanks for the videos.
@ankitbansal6 Жыл бұрын
Best of luck
@RAAMASHAAMYC5 ай бұрын
I have been working with SQL for a decade now. Now only I know that we can use 'val' for producing result instead of the field name itself. True Genius.
@ankitbansal65 ай бұрын
val is a column in the table 😊
@jececdept.95485 ай бұрын
@@ankitbansal6 pls suggest how to study from so many videos..is there any pdf of these available.?
@ankitbansal65 ай бұрын
@@jececdept.9548 just solve 1 question at a time everyday
@lokeshvaishnav218 Жыл бұрын
Man you are an amazing person helping a lot of people
@RajeshS-b6b Жыл бұрын
🎯 Key Takeaways for quick navigation: 00:14 📊 Learn how to convert rows to columns and vice versa in SQL without using pivot functions. 01:25 🧮 Use SQL case statements to pivot data from rows to columns for specific components. 04:27 🧾 Practice using case statements with sum for efficient data pivoting in SQL. 05:28 🔄 Unpivot data by creating a new table using SELECT INTO and then using UNION to achieve the desired format. 08:18 📚 Mastering case when with sum is crucial for handling data transformations, and it's a valuable skill for interviews and job tasks. Made with HARPA AI
@ratiranjannayak57122 жыл бұрын
Thank you for your video. I have an exact requirement and your video makes it very clear with a proper description and makes it easy to understand. Thank you so much
@ankitbansal62 жыл бұрын
Glad it helped you 😊
@Gaurav-e6i2e Жыл бұрын
Thank you very much, Sir. The same question I have been asked in the interview. And because I had already watched this video, I could be able to solve this in the interview.
@ankitbansal6 Жыл бұрын
Excellent
@shubhamgoyal33582 жыл бұрын
Good one ankit, I am watching daily 1-3 video from your channel to prepare for faang
@ankitbansal62 жыл бұрын
Awesome
@brianducharme3418 Жыл бұрын
Sir you are brilliant, so much easier then using SQL pivot operator. Thank you kindly.
@ankitbansal6 Жыл бұрын
Happy to help
@sujaa10003 ай бұрын
One of the best channels, thank you very much Ankit!
@ankitbansal63 ай бұрын
My pleasure
@Exceltech810 Жыл бұрын
it's hard to see so so clear and easy understanding video. thank you
@ankitbansal6 Жыл бұрын
Glad it was helpful!
@CricketLivejavwad4 ай бұрын
Thank you for the awesome video.I tried to solve this by myself after getting hint by this video and after struggling finally I was able to solve this problem and one more thing I want to tell you this concept is used in my job role also. Thanks again sir :)
@ankitbansal64 ай бұрын
Glad it helped!
@CricketLivejavwad4 ай бұрын
Thank you sir @@ankitbansal6
@girishggirishg10832 жыл бұрын
I got a query related to this, thank you now i got some clarity.
@ashutoshpandey1452 Жыл бұрын
this is what I was searching for.. thanks man
@tupaiadhikari Жыл бұрын
Thanks Ankit for the video, we have to use pivot function using pandas for subsequent ml work, but now we can do the data transformation directly in SQL and post which we can directly train the ml model
@ankitbansal6 Жыл бұрын
Yes, you are right
@sharu1642 жыл бұрын
Thanks Ankit for your time on this video 😊 appreciate all your effort
@shoaibshaikh89092 жыл бұрын
Hi ankit, thank you so much for simplifying the concepts. It would be great if you could make similar videos using the sum and case concept solving real interview questions or problems
@ankitbansal62 жыл бұрын
I have several videos on my channel using that concept. 😊
@jaydeeppatidar41892 жыл бұрын
Your videos has golden content! Just wowwwww!
@ankitbansal62 жыл бұрын
🙏🙏
@shilpibiswas3110 Жыл бұрын
Hello ankit sir, Truly blessed to come across your superb videos....thank you so much sir and please keep helping is this way by more of ur interview questions on sql, pythons
@ankitbansal6 Жыл бұрын
Keep watching
@SachinKumarHS7 ай бұрын
i have also tried this approach using window functions - select emp_id, salary, hike_percent, bonus from ( select emp_id, val as salary, lead(val) over a as hike_percent, lead(val,2) over a as bonus, row_number() over a as rn from emp_compensation window a as (partition by emp_id order by salary_component_type desc) ) t where rn=1 Thank you
@nigarmutallimova846111 ай бұрын
This was an awesome tutorial! Very informative without the extra puff. Thank you so much!
@ankitbansal611 ай бұрын
Glad it was helpful!
@ankushjain412811 ай бұрын
keep doing what you are doing really it is very helpful.
@MotivationToMoveForward2 жыл бұрын
It's really awesome video. I have learnt some great insights from this video
@ankitbansal62 жыл бұрын
Glad to hear that!
@Ashu232006 ай бұрын
Hi Ankit I am learning a lot from you. Thank you, Thank you again. Please clear my doubt. Pasting my query below. I tried this method. but following both this method and aggregating both ways coming same output select emp_id, sum(case when salary_component_type = 'salary' then val end) as salary, sum(case when salary_component_type = 'bonus' then val end) as bonus, sum(case when salary_component_type = 'hike_percent' then val end) as hike_percent from emp_compensation group by emp_id; select emp_id, max(case when salary_component_type = 'salary' then val end) as salary, max(case when salary_component_type = 'bonus' then val end) as bonus, max(case when salary_component_type = 'hike_percent' then val end) as hike_percent from emp_compensation group by emp_id; how???
@ankitbansal66 ай бұрын
There is only one not null value in each group. So max min avg all same ..
@Ashu232006 ай бұрын
@@ankitbansal6 ok
@karthikvb12932 жыл бұрын
Really a great concept, explained very well.
@thedatakid12702 жыл бұрын
Very much helpful video. Ankit sir please upload such more complex query video
@saurabhkhare33152 жыл бұрын
Well explained... Please make some videos on path to join Amazon as a Business Intelligence Engineer or Data Engineer.
@ankitbansal62 жыл бұрын
Sure.
@adreamer99992 жыл бұрын
Great video! Excellent step-by-step explanation. Thank you.
@ankitbansal62 жыл бұрын
🙏
@rakeshgopidi40662 жыл бұрын
@Ankit - Awesome very well explained !
@eel3720 Жыл бұрын
Great work Ankit so helpful thank you.
@ankitbansal6 Жыл бұрын
Glad it helped
@alex45688 Жыл бұрын
Thanks for sharing much value , a small request if you can make such more videos god bless you
@ankitbansal6 Жыл бұрын
Sure 😊
@alex45688 Жыл бұрын
@@ankitbansal6 People like you are a great help to the society and for new learners, we pray many people support this channel Will inform other people also to join this channel
@kawshalchettri6614 Жыл бұрын
Hello Ankit, I bought multiple courses on SQL but finally started to understand by watching your videos. Thank you so much. I want to know where can I get more use cases to practice for case statements using sum and other aggregate functions.
@ankitbansal6 Жыл бұрын
Check out the complex SQL problems playlist
@milindzuge9062 жыл бұрын
Informative content ❣
@georgehall28829 ай бұрын
This was great and well explained. Thanks
@ankitbansal69 ай бұрын
Glad you enjoyed it!
@aravindsatheesh40862 жыл бұрын
Nice Video, thank you. I have a doubt. Is there any way that we can dynamically create these columns during pivoting instead of explicitly typing the column values in each sum(case) statement? If we have more unique values and more rows, it might be useful if possible.
@ankitbansal62 жыл бұрын
There is pivot function to do that. I will make a separate video.
@taniyasaini68302 жыл бұрын
Very well explained. I just have one question which may sound very basic. How to distinguish between pivoting and unpivoting? i always get confused which one is what
@ankitbansal62 жыл бұрын
Row to column is pivot and reverse in unpivot.
@mallikarjunpatil7553 Жыл бұрын
Great session 👍
@ankitbansal6 Жыл бұрын
Glad you enjoyed it
@MrKingoverall Жыл бұрын
Thank you so much sir for your help. 👍👍🙏
@ankitbansal6 Жыл бұрын
Keep watching 💪
@tomthomas6985 Жыл бұрын
Using PIVOT, we can solve it by: select emp_id,salary,bonus,hike_percent from (select emp_id,salary_component_type,val from emp_compensation) p PIVOT( max(val) for salary_component_type in ([salary],[bonus],[hike_percent]) )as pivot_table
@suketshah76972 жыл бұрын
Thanks very well explained...!
@ankitbansal62 жыл бұрын
Glad it was helpful!
@ramakumarguntamadugu12999 ай бұрын
very useful 👌👌👍👍
@rajakrishnan85618 ай бұрын
Hi Ankit, thank you sharing such a wonderful tip. this solves purpose.. But i have text value in "Val" column. when i use sum function, it shows error invalid digit value 'L'. any idea to group text values
@ankitbansal68 ай бұрын
You can use string agg function ..or can use min , max
@LalithammaBestavaripeta Жыл бұрын
Thanks a lot sir for explaining in detail.
@ankitbansal6 Жыл бұрын
You are most welcome
@gritmanish2 жыл бұрын
Thanks for explanation. It was nice
@subhojeetlearning Жыл бұрын
Very nicely explained
@ankitbansal6 Жыл бұрын
Keep watching😊
@ashishdukare1313 Жыл бұрын
Thank you for your efforts : )
@ankitbansal6 Жыл бұрын
My pleasure!
@vinipowerbi Жыл бұрын
Thank you Ankit for awesome explanation. Is there another video to practice this topic?
@ankitbansal6 Жыл бұрын
There are many in this playlist Complex SQL Questions for Interview Preparation: kzbin.info/aero/PLBTZqjSKn0IeKBQDjLmzisazhqQy4iGkb
@niveditasingh11762 жыл бұрын
Hi Ankit, Thanks for creating this video . It was really helpful . Can you please create more examples around this.
@ankitbansal62 жыл бұрын
Sure
@emiliogarza64462 жыл бұрын
Really good explanation, great job :)
@ankitbansal62 жыл бұрын
Thank you 😊
@hairavyadav65793 ай бұрын
Today i learn new thing in sql
@hairavyadav65793 ай бұрын
And I also share on LinkedIn... Great explanation
@NaveenKumar-ig6gn2 жыл бұрын
Hi Ankit, i am trying to run the below query in MySQL but getting error like undeclared variable at into emp_compensation_pivot Select emp_id ,SUM(case when salary_component_type = 'salary' then val end) as Salary ,SUM(case WHEN salary_component_type = 'bonus' then val end) as Bonus ,SUM(case when salary_component_type = 'hike_percent' then val end) as hike_percent into emp_compensation_pivot from emp_compensation group by emp_id; Can you please guide me
@ankitbansal62 жыл бұрын
Use create table as instead of into
@yatinshekhar787 Жыл бұрын
@@ankitbansal6 sir used create table statement also but it is not working is their any other alternative?
@mohit2312 жыл бұрын
Great video
@ankitbansal62 жыл бұрын
Glad you enjoyed it
@mohit2312 жыл бұрын
Please make a video on using Pivot functions and merge statement
@ankitbansal62 жыл бұрын
Sure.
@NaveenKumar-fq4sb Жыл бұрын
super sir make a more interview quations.....
@toshitachakraborty4184 Жыл бұрын
I am a big fan if you Ankit 💓
@ankitbansal6 Жыл бұрын
Thank you 😊
@adityaf17 Жыл бұрын
This is very helpful! Thanks
@ankitbansal6 Жыл бұрын
Glad it was helpful!
@monasanthosh92087 ай бұрын
Select Emp_id, Sum(Case When Salary_component_type="Salary" then Val end) As Salary, SUM(Case When Salary_component_type="Bonus" then Val end) As Bonus, SUM(Case When Salary_component_type="Hike_Percent" then Val end) As Hike Percent from Emp Group by Emp_id Order by EMp_id;
@desflan06 Жыл бұрын
Thank you, this help me a lot.
@ankitbansal6 Жыл бұрын
Glad it helped!
@ankithashetty91334 ай бұрын
Incase if the rows are way to high how do we dynamically bring them as column names, is there a way to do it? It's not possible to give names individually . In my case I should bring dates as column names from the row.
@kushwaha2kАй бұрын
Hello, Do we do this with dates in place of numbers?
@shubhiverma25712 жыл бұрын
Thankyou so much for this video
@harshitaggarwal3554 Жыл бұрын
Thanks a lot Ankit it was very helpful. Just one question in case we have multiple column like let's say 10-15 then we need to write 10-15 case statement from row to column and 10-15 union all in case od column to row or do we have any other approach
@ankitbansal6 Жыл бұрын
Alternatively you can use pivot and unpivot functions.
@rashmidutta71512 жыл бұрын
Hi Ankit, very crisply explained. Can you explain how each row gets created in both the cases.I mean execution of the query. Thanks in advance!!
@ujjwalvarshney3188 Жыл бұрын
select a.emp_id ,a. val as salary , b.val as bonus ,c.val as hike_percent from emp_compensation a join emp_compensation b on a.emp_id = b.emp_id join emp_compensation c on a.emp_id = c.emp_id where a.salary_component_type = 'salary' and b.salary_component_type ='bonus' and c.salary_component_type = 'hike_percent' order by 1
@LivenLove8 ай бұрын
Are case statements faster than pivot ?
@ankitbansal68 ай бұрын
I would say you have the flexibility to give multiple case conditions based on the requirements.
@LivenLove8 ай бұрын
Thanks for replying so promptly. Do you have or planning to release any spark project based content?
@sandycool18222 жыл бұрын
Hi Ankit, if possible pls create video on how to do pivoting dynamically. If new entries comes in future it will automatically comes from rows to columns
@ankitbansal62 жыл бұрын
Okay
@JosueLopezXIX7 ай бұрын
Nice video! Thank you.
@pavitrashailaja8502 жыл бұрын
Well explained video!
@chronoray8786 Жыл бұрын
So fantastic. Thank you so much. :)
@ankitbansal6 Жыл бұрын
You are so welcome!
@seelamrk Жыл бұрын
Thank you . What if I add one more type called Gender that has "Male" or "Female" - we cannot do SUM or any numerical aggregate like MIN/MAX in that case - so how do we solve that?
@shahmaarbaba Жыл бұрын
what happend when someone enter the new salary component type the query set was only the exitsting data when someone enter the new salary component type so every time i change the query it's not good please help me this like whenever some add new salary component type how to automatically add val in query
@ankitbansal6 Жыл бұрын
You need to modify the query. Or wrote a dynamic SQL using pl SQL or t SQL
@snipezu8052 жыл бұрын
Thanks friend very helpful
@ankitbansal62 жыл бұрын
Welcome
@kundankumar5520 Жыл бұрын
True superhero👍
@kanchans35569 ай бұрын
Is 'select into' syntax for creating new table worked in MySQL ? I got error
@scrt1111 Жыл бұрын
Thank you valuable share
@artofdata-29 күн бұрын
will query work if we have millions of records ? we can not union every Time
@hiyaborah91672 жыл бұрын
Hello Ankit! This was really helpful, thank you so much for explaining it step by step. I came across a similar problem but have quite a few doubts, could you please help me understand how the same concept can be applied for the below table: NAME PROFESSION Samantha Doctor Julia Actor Maria Actor Meera Singer Ashley Professor Ketty Professor Christeen Professor Jane Actor Jenny Doctor Priya Singer Here is the query that I used: select case when profession = 'doctor' then person_name end as 'doctor', case when profession = 'actor' then person_name end as 'actor', case when profession = 'professor' then person_name end as 'professor', case when profession = 'singer' then person_name end as 'singer' from occupation How do I exclude the nulls is this case?
@ankitbansal62 жыл бұрын
You just need to create one case statement with multiple when ..that will do
@vigneshnagaraj71372 жыл бұрын
Hi Hiya, Please post your solution . It will be helpful
@amazhobner2 жыл бұрын
I guess this is a hackerrank question, you can just group by and take min/max.
@chaitanyagn2 жыл бұрын
Hello Hiya I tried to solve the same problem using the above mentioned method. The above example has emp-id, we can apply GROUP BY on this emp-id and get the desired result(remove the null values). However in the problem, we dont have any such column to perform GROUP BY on and eliminate the nulls. To overcome this we create a new column ‘grouper’. What grouper does is, it ranks the candidates for each profession. For ex: If there are 4 doctors, we give a rank to each doctor. Similarly for other professions. Then we perform GROUP BY on grouper column and get the desired result. Here’s the piece of query I have used. SET @r1=0, @r2=0, @r3=0, @r4=0; WITH tb1 AS (SELECT CASE WHEN Occupation = 'Doctor' THEN Name END AS Doctor, CASE WHEN Occupation = 'Professor' THEN Name END AS Professor, CASE WHEN Occupation = 'Singer' THEN Name END AS Singer, CASE WHEN Occupation = 'Actor' THEN Name END AS Actor, CASE WHEN Occupation = 'Doctor' THEN (@r1:=@r1+1) WHEN Occupation = 'Professor' THEN (@r2:=@r2+1) WHEN Occupation = 'Singer' THEN (@r3:=@r3+1) WHEN Occupation = 'Actor' THEN (@r4:=@r4+1) END AS grouper FROM OCCUPATIONS ORDER BY Name) SELECT MIN(Doctor) AS Doctor, MIN(Professor) AS Professor, MIN(Singer) AS Singer, MIN(Actor) AS Actor FROM tb1 GROUP BY grouper; Hope this helps !
@sz66183 ай бұрын
@@ankitbansal6 It will not solve problem if we use so
@poorvaagnihotri71044 ай бұрын
Hi Ankit, Thanks for this explaination. I was asked below question in LatentView Analytics Interview , can you share a optimal solution for that Input:- class Sub A Maths B English A Social B Chemistry A Physics B Statistics A Biology B Maths A Science B Social Result: Class Sub1 Sub2 Sub3 Sub4 Sub5 A Science Physics Social Maths Biology B English Social Maths Statistics Chemistry
@ankitbansal64 ай бұрын
You can use a similar case when statements as explained in video. Just use max or min along with case when.
@sujitnayak3072 Жыл бұрын
The same query how can we perform if the value has non numeric values.
@deepakcl1449 Жыл бұрын
Thank you so much ! 🙂
@ankitbansal6 Жыл бұрын
You're welcome 😊
@TheEJAZ885 ай бұрын
can this process be used another query where numbers are not involved for pivot
@KukuG288 ай бұрын
This method is dependent on number of columns. How to make this dynamic like pivot. Pivot automatically takes new column into account whereas this method will require to change query to add every new column. Please help.
@navkarwebstudio7490 Жыл бұрын
How to pivot If all my columns having date. If sum will work in that case?
@VARISHROCKS2 жыл бұрын
Well explained , just a request Please make a video on how to upload DB tables on this Software , it would be a great help from ur end !!
@ankitbansal62 жыл бұрын
You mean you want to load data from files in your system to SQL server right ?
@VARISHROCKS2 жыл бұрын
@@ankitbansal6 YES
@sanvinoth Жыл бұрын
Hi Ankit - Thanks for Video. How we can use this if we have char/varchar instead of integers in the table
@ankitbansal6 Жыл бұрын
Use Max min
@arnabsarkar6159 Жыл бұрын
@ankit How to dynamically pick pivot rows to columns without using pivot function?
@kartiks7922 жыл бұрын
Hi Ankit great video. Just one doubt can sum function work on string values in the case statement? Example just adding another columns as name and pan no.
@ankitbansal62 жыл бұрын
Yes it works on string.
@kartiks7922 жыл бұрын
@@ankitbansal6 thank you for the clarification. 😊
@the_cocktail_kudi Жыл бұрын
What if there are 2 columns example val and expense_amount. So i want 2 colums from 1 row. Salary_val and salary_expense_amount. How to do that?
@mvshop-wm1rn3 ай бұрын
Hi Ankit, what do we use in case of phone numbers with hyphen instead of sum. Thanks
@ankitbansal63 ай бұрын
Max or min
@rutujakelkar2895 Жыл бұрын
Hi Ankit, Your videos are helpful to learn SQL in depth, do you have any github repository where you have hosted all your YT questions and solutions ? Or something in text/ blog format ?
@ankitbansal6 Жыл бұрын
I haven't done that yet. Planning that.
@surojeetghosh83892 жыл бұрын
hello sir. thank you for sharing these concepts.its really helpful.sir im an aspiring data analyst and i really want to become good in sql.i know the basics and intermediate concepts.from where should i practice the hard concepts like this which you are teaching?once again thank u.
@raghuramm3297 Жыл бұрын
Hi Ankit, if we have other salary component we have to alter the query . Can we dynamically generate the columns(for each Salary component)without using the pivot function.
@hariarayakeel2 жыл бұрын
Thanks a lot Baha’i, very helpful video. I tried this in report which has 200 columns to unpivot and 5 inner joins, finally the script has 2300 lines now (each union has 15 lines). I have used inner joins on each union. Is it the a way to refine the script more!
@the_class_apart2 жыл бұрын
This solved my potential career-ending problem, thanks a lot brother. How can I perform high performance on this when I am working on big data?
@ankitbansal62 жыл бұрын
It's optimised technique only.
@CosmicKaBot Жыл бұрын
My Answer: with pviot as (select emp_id,sum(case when salary_component_type='salary' then val else 0 end) as Salary, sum(case when salary_component_type='bonus' then val else 0 end) as bonus, sum(case when salary_component_type='hike_percent' then val else 0 end) as hike_percent from emp_compensation group by 1) select emp_id,Case when Salary then 'Salary' end as salary_component_type, case when salary then Salary end as val from pviot union select emp_id,Case when bonus then 'bonus' end as salary_component_type, case when bonus then bonus end as val from pviot union select emp_id,Case when hike_percent then 'hike_percent' end as salary_component_type, case when hike_percent then hike_percent end as val from pviot;
@as-youtuber62152 жыл бұрын
Man you might don't know how much you are helping other people. True gem
@ankitbansal62 жыл бұрын
🙏
@priyachauhan8132 жыл бұрын
Thanks for your video, but what if I want to unpivot 35 different months columns into row based and 35 quantity columns for the corresponding month into row based. This method is not useful fod that, also the unpivot function is not efficient here, query processing times is going more then an hour, could you please suggest any approach for this
@ankitbansal62 жыл бұрын
You have only 2 options. Either use pivot unpivot functions or do like in video.