sql 语句中count函数怎么用??
COUNT() 函数返回匹配指定条件的行数。
SQL COUNT(column_name) 语法
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name;
SQL COUNT(*) 语法
COUNT(*) 函数返回表中的记录数:
SELECT COUNT(*) FROM table_name;
SQL COUNT(DISTINCT column_name) 语法
COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:
SELECT COUNT(DISTINCT column_name) FROM table_name;
注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。
SQL COUNT(column_name) 实例
下面的 SQL 语句计算 "access_log" 表中 "site_id"=3 的总访问量:
实例
SELECT COUNT(count) AS nums FROM access_logWHERE site_id=3;
SQL COUNT(*) 实例
下面的 SQL 语句计算 "access_log" 表中总记录数:
实例
SELECT COUNT(*) AS nums FROM access_log;
执行以上 SQL 输出结果如下:
SQL COUNT(DISTINCT column_name) 实例
下面的 SQL 语句计算 "access_log" 表中不同 site_id 的记录数:
实例
SELECT COUNT(DISTINCT site_id) AS nums FROM access_log;
执行以上 SQL 输出结果如下:
关于SQL中count的用法
用sum更好点,如
(一)
select
a.单位名称,sum(case
when
b.时间>='2007-04-01'
and
b.时间<'2007-07-01'
then
1
else
0
end)
as
[2007二季度],sum(case
when
b.时间>='2007-10-01'
and
b.时间<'2008-01-01'
then
1
else
0
end)
as
[2007四季度]
from
表一
a
left
join
表二
b
on
a.单位名称=b.单位名称
group
by
a.单位名称
(二)
select
a.单位名称,sum(case
when
b.时间>='2007-04-01'
and
b.时间<'2007-07-01'
and
b.类别='e'
then
1
else
0
end)
as
[2007二季度],sum(case
when
b.时间>='2007-10-01'
and
b.时间<'2008-01-01'
and
b.类别='e'
then
1
else
0
end)
as
[2007四季度]
from
表一
a
left
join
表二
b
on
a.单位名称=b.单位名称
group
by
a.单位名称