sqlite

資料庫(kù);使用;內(nèi)嵌關(guān)係資料庫(kù)

having

英['h?v??]? ?美[ 'h?v??]??

n.所有,持有

v.有( have的現(xiàn)在分詞);(親屬關(guān)係中)接受;拿;買(mǎi)

SQLite Having函數(shù) 語(yǔ)法

作用:HAVING 子句允許指定條件來(lái)篩選將出現(xiàn)在最終結(jié)果中的分組結(jié)果。

WHERE 子句在所選列上設(shè)定條件,而 HAVING 子句則在 GROUP BY 子句建立的分組上設(shè)定條件。

語(yǔ)法:以下是HAVING 子句在SELECT 查詢(xún)中的位置:

SELECT
FROM
WHERE
GROUP?BY
HAVING
ORDER?BY

在一個(gè)查詢(xún)中,HAVING 子句必須放在GROUP BY 子句之後,必須放在ORDER BY 子句之前。以下是包含HAVING 子句的SELECT 語(yǔ)句的語(yǔ)法:

SELECT?column1,?column2
FROM?table1,?table2
WHERE?[?conditions?]##?]
ORDER?BY?column1,?column2

SQLite Having函數(shù) 範(fàn)例

 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
8           Paul        24          Houston     20000.0
9           James       44          Norway      5000.0
10          James       45          Texas       5000.0
下面是一個(gè)實(shí)例,它將顯示名稱(chēng)計(jì)數(shù)小于 2 的所有記錄:

sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) < 2;
這將產(chǎn)生以下結(jié)果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000
5           David       27          Texas       85000
6           Kim         22          South-Hall  45000
4           Mark        25          Rich-Mond   65000
3           Teddy       23          Norway      20000
下面是一個(gè)實(shí)例,它將顯示名稱(chēng)計(jì)數(shù)大于 2 的所有記錄:

sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) > 2;
這將產(chǎn)生以下結(jié)果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
10          James       45          Texas       5000
#