①?按照现在的SQL标准来说,HAVING子句是可以单独使用的
?SELECT MIN(seq + 1) AS gap
??FROM SeqTbl
?WHERE (seq+ 1) NOT IN ( SELECT seq FROM SeqTbl);
?SELECT income, COUNT(*) AS cnt
??FROM Graduates
?GROUP BY income
?HAVING COUNT(*) >= ALL ( SELECT COUNT(*)
??????FROM Graduates
??????GROUP BY income);
?SELECT income, COUNT(*) AS cnt
??FROM Graduates
?GROUP BY income
?HAVING COUNT(*) >= ?( SELECT MAX(cnt)
?????FROM ( SELECT COUNT(*) AS cnt
???????FROM Graduates
??????GROUP BY income) TMP ) ;
?SELECT AVG(DISTINCT income)
??FROM (SELECT T1.income
???FROM Graduates T1, Graduates T2
???GROUP BY T1.income
???--S1的条件
??HAVING SUM(CASE WHEN T2.income >= T1.income THEN 1 ELSE 0 END)
???>= COUNT(*) / 2
???--S2的条件
??AND SUM(CASE WHEN T2.income <= T1.income THEN 1 ELSE 0 END)
???>= COUNT(*) / 2 ) TMP;
?SELECT COUNT(*), COUNT(col_1)
??FROM NullTbl;
?SELECT dpt
??FROM Students
?GROUP BY dpt
?HAVING COUNT(*) = COUNT(sbmt_date);
?SELECT dpt
??FROM Students
?GROUP BY dpt
?HAVING COUNT(*) = SUM(CASE WHEN sbmt_date IS NOT NULL
??????THEN 1
??????ELSE 0 END);
?SELECT DISTINCT shop
??FROM ShopItems
?WHERE item IN (SELECT item FROM Items);
?SELECT SI.shop
??FROM ShopItems SI, Items I
?WHERE SI.item = I.item
?GROUP BY SI.shop
?HAVING COUNT(SI.item) = (SELECT COUNT(item) FROM Items);
?SELECT SI.shop
??FROM ShopItems SI LEFT OUTER JOIN Items I
??ON SI.item=I.item
?GROUP BY SI.shop
?HAVING COUNT(SI.item) = (SELECT COUNT(item) FROM Items) ?--条件1
??AND COUNT(I.item) ?= (SELECT COUNT(item) FROM Items); ?--条件2
以上就是土嘎嘎小编为大家整理的读SQL进阶教程笔记10_HAVING下相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!