SELECT {* | <字段列名>} [ FROM <表 1>, <表 2>… [WHERE <表達式> [GROUP BY <group by definition> [HAVING <expression> [{<operator> <expression>}…]] [ORDER BY <order by definition>] [LIMIT[<offset>,] <row count>] ] 其中,各條子句的含義如下:
{*|<字段列名>}包含星號通配符的字段列表,表示所要查詢字段的名稱。 <表 1>,<表 2>…,表 1 和表 2 表示查詢數據的來源,可以是單個或多個。 WHERE <表達式>是可選項,如果選擇該項,將限定查詢數據必須滿足該查詢條件。 GROUP BY< 字段 >,該子句告訴 MySQL 如何顯示查詢出來的數據,并按照指定的字段分組。 [ORDER BY< 字段 >],該子句告訴 MySQL 按什么樣的順序顯示查詢出來的數據,可以進行的排序有升序(ASC)和降序(DESC),默認情況下是升序。 [LIMIT[<offset>,]<row count>],該子句告訴 MySQL 每次顯示查詢出來的數據條數。 COUNT() 函數統計數據表中包含的記錄行的總數,或者根據查詢結果返回列中包含的數據行數
要計算demos表中的所有行,請使用COUNT(*)函數,如下所示:
mysql> SELECT COUNT(*) FROM demos; +----------+ | COUNT(*) | +----------+ | 9 | +----------+ 1 row in set 您可以添加一個WHERE子句來指定一個條件來計數,例如,只計算val列包含值等于2的行,使用以下查詢:
mysql> SELECT COUNT(*) FROM demos WHERE val = 2; +----------+ | COUNT(*) | +----------+ | 2 | +----------+ 1 row in set 如果在COUNT函數中指定val列,則COUNT函數計數其val列僅包含非NULL值的所有行。 請參閱以下查詢:
SELECT COUNT(*) FROM demos WHERE val = 2; val列中的兩個NULL值將被忽略。