Splitting Groups using HAVING Clause

4 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€67.18
List Price:  €95.97
You save:  €28.79
£55.86
List Price:  £79.80
You save:  £23.94
CA$97.87
List Price:  CA$139.82
You save:  CA$41.95
A$107.62
List Price:  A$153.75
You save:  A$46.13
S$94.24
List Price:  S$134.64
You save:  S$40.39
HK$544.83
List Price:  HK$778.36
You save:  HK$233.53
CHF 62.54
List Price:  CHF 89.34
You save:  CHF 26.80
NOK kr774.97
List Price:  NOK kr1,107.14
You save:  NOK kr332.17
DKK kr501
List Price:  DKK kr715.75
You save:  DKK kr214.74
NZ$119.95
List Price:  NZ$171.37
You save:  NZ$51.41
د.إ257.07
List Price:  د.إ367.26
You save:  د.إ110.19
৳8,361.58
List Price:  ৳11,945.63
You save:  ৳3,584.04
₹5,909.84
List Price:  ₹8,442.99
You save:  ₹2,533.15
RM312.71
List Price:  RM446.75
You save:  RM134.04
₦118,484.88
List Price:  ₦169,271.38
You save:  ₦50,786.49
₨19,443.22
List Price:  ₨27,777.22
You save:  ₨8,334
฿2,412.28
List Price:  ฿3,446.26
You save:  ฿1,033.98
₺2,418.32
List Price:  ₺3,454.90
You save:  ₺1,036.57
B$406.01
List Price:  B$580.04
You save:  B$174.03
R1,267.89
List Price:  R1,811.35
You save:  R543.45
Лв131.37
List Price:  Лв187.69
You save:  Лв56.31
₩98,301.65
List Price:  ₩140,436.95
You save:  ₩42,135.30
₪259.10
List Price:  ₪370.16
You save:  ₪111.06
₱4,125.14
List Price:  ₱5,893.31
You save:  ₱1,768.17
¥10,832.35
List Price:  ¥15,475.45
You save:  ¥4,643.10
MX$1,429.79
List Price:  MX$2,042.64
You save:  MX$612.85
QR255.18
List Price:  QR364.56
You save:  QR109.38
P956.90
List Price:  P1,367.06
You save:  P410.16
KSh9,061.51
List Price:  KSh12,945.58
You save:  KSh3,884.06
E£3,475.01
List Price:  E£4,964.52
You save:  E£1,489.50
ብር8,566
List Price:  ብር12,237.67
You save:  ብር3,671.66
Kz63,900.87
List Price:  Kz91,290.87
You save:  Kz27,390
CLP$69,057.73
List Price:  CLP$98,658.13
You save:  CLP$29,600.40
CN¥506.93
List Price:  CN¥724.22
You save:  CN¥217.29
RD$4,217.06
List Price:  RD$6,024.63
You save:  RD$1,807.57
DA9,397.90
List Price:  DA13,426.15
You save:  DA4,028.25
FJ$159.29
List Price:  FJ$227.57
You save:  FJ$68.27
Q540.13
List Price:  Q771.64
You save:  Q231.51
GY$14,638.82
List Price:  GY$20,913.50
You save:  GY$6,274.67
ISK kr9,776.20
List Price:  ISK kr13,966.60
You save:  ISK kr4,190.40
DH703.91
List Price:  DH1,005.63
You save:  DH301.72
L1,275.33
List Price:  L1,821.98
You save:  L546.64
ден4,132.76
List Price:  ден5,904.20
You save:  ден1,771.43
MOP$561.01
List Price:  MOP$801.48
You save:  MOP$240.46
N$1,268.91
List Price:  N$1,812.81
You save:  N$543.90
C$2,574.70
List Price:  C$3,678.31
You save:  C$1,103.60
रु9,449.77
List Price:  रु13,500.25
You save:  रु4,050.48
S/265.32
List Price:  S/379.05
You save:  S/113.72
K281.71
List Price:  K402.47
You save:  K120.75
SAR262.77
List Price:  SAR375.40
You save:  SAR112.63
ZK1,934.92
List Price:  ZK2,764.29
You save:  ZK829.37
L334.42
List Price:  L477.77
You save:  L143.34
Kč1,702.59
List Price:  Kč2,432.37
You save:  Kč729.78
Ft27,646.05
List Price:  Ft39,496.05
You save:  Ft11,850
SEK kr772.42
List Price:  SEK kr1,103.50
You save:  SEK kr331.08
ARS$70,259.44
List Price:  ARS$100,374.93
You save:  ARS$30,115.49
Bs483.50
List Price:  Bs690.75
You save:  Bs207.24
COP$307,238.59
List Price:  COP$438,931.09
You save:  COP$131,692.49
₡35,641.51
List Price:  ₡50,918.63
You save:  ₡15,277.11
L1,768.23
List Price:  L2,526.16
You save:  L757.92
₲546,248.87
List Price:  ₲780,388.98
You save:  ₲234,140.10
$U2,983.14
List Price:  $U4,261.82
You save:  $U1,278.67
zł291.40
List Price:  zł416.31
You save:  zł124.90
Already have an account? Log In

Transcript

Hey guys, in this video we will be looking at splitting groups using the having clause. Now prior to this, you would have learned that if you wanted to see only records that meet a certain condition that you could use a where, where command right after or from our well after our Inner Joins, then you could see we're and then stipulate your condition. Now what if you were faced with a scenario where you wanted to see only students that are carrying the minimum or what three credits, so only students with three credits, then by you know, instinct, you would probably say where and then you would take that column. And then you stay there condition where it is less than or equal to three. All right, or Well, you only wanted to see those taking three. So when you say equal to three, and then you would execute this, but then that would probably snap work because then you'll see here where it's still bringing back everything.

All right. And the issue is that when you're dealing with group by or aggregated data, then the where clause is not how you're going to go about filtering or splitting up this group's data. So that is where we have a new keyword called having. So I would say having, and then that would allow me to see the sum. Because remember that this whole query is based on a sum. And I want to see where after summing up all of the credits being taken by students, I am left with three that is my condition.

So I can't see where some and I'm going to try it and just show you what would happen. So I'm going to say where the sum is equal to three. And if I attempt this, then I just get an error. It says it's an invalid user. of group function. That's because the summary doesn't get executed until the group by gets executed or it gets incremented as the group by does its work.

So to just say we're so dumb is really not going to cut it because this is in the middle of the clumping exercise, it wouldn't be clean. So we have a keyword called having that allows us to stipulate the same kind of condition, except we can do it on the aggregate column this time. So we can say having some equals three. And then by doing that, after summing up, it will say Okay, give me back only those that meet this condition. And so we see here, we're only left with three. If I said six, then it would only bring back those with six credits.

And this having clause can be applied anywhere you have an aggregate function. If I go back to one of the previous queries where we Had min and max, I can see, give me back all of that data, but I only want where the minimum grade is greater than 50. All right, so I only want back all of the cloud all of this data where the minimum grade is 50 or more. And then that would, oh, that is actually giving me a tight Miss much error. I'm sorry, from the previous example. I didn't fill out the aliases.

And so that was causing the problem. So if I attempt this again, then there we go. So I'm only seeing the records that meet this condition where the minimum grade returned was over 50. And so you can apply this having clause if you feel the need that are having grouped, having performed some, you still need to filter out some of the the returns are the results that come back. So you can just use that having keyword and add your aggregate column and whatever condition it must meet. And you see that if I attempt to put in a non aggregate column here, it does not work.

So it will give you something on both an unknown column. And that's really because it can only look at the aggregate value as opposed to the value of being aggregated. And that is the end of this video. I trust you learn something valuable with the having clause and I know you put it to good use

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.