SQL中求个数有多种 ,以下介绍几种常见 :
COUNT()函数
COUNT()函数用于计算指定列或表达式的非空值个数。其语法为:
COUNT(column_name)
例如,求出表中"name"列的非空值个数:
SELECT COUNT(name) FROM table_name;
COUNT(*)函数
COUNT(*)函数与COUNT()函数类似,但它计算表中所有行的个数,包括空值。其语法为:
COUNT(*)
例如,求出表中所有行的个数:
SELECT COUNT(*) FROM table_name;
DISTINCT关键字
DISTINCT关键字用于计算指定列或表达式的不同值个数。其语法为:
COUNT(DISTINCT column_name)
例如,求出表中"name"列的不同值个数:
SELECT COUNT(DISTINCT name) FROM table_name;
GROUP BY子句
GROUP BY子句用于将表中的数据分组,然后对每个组计算指定列或表达式的个数。其语法为:
SELECT column_name, COUNT(column_name)
FROM table_name
GROUP BY column_name;
例如,求出表中按"city"列分组的"name"列的个数:
SELECT city, COUNT(name)
FROM table_name
GROUP BY city;
HAVING子句
HAVING子句用于过滤GROUP BY的结果集,仅选择满足指定条件的组。其语法为:
SELECT column_name, COUNT(column_name)
FROM table_name
GROUP BY column_name
HAVING COUNT(column_name) > value;
例如,求出表中"city"列分组的"name"列的个数,仅选择个数大于1的组:
SELECT city, COUNT(name)
FROM table_name
GROUP BY city
HAVING COUNT(name) > 1;