3 回答

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
COUNT() 函數(shù)返回匹配指定條件的行數(shù)。
SQL COUNT(column_name) 語法
COUNT(column_name) 函數(shù)返回指定列的值的數(shù)目(NULL 不計(jì)入):
SELECT COUNT(column_name) FROM table_name;
SQL COUNT(*) 語法
COUNT(*) 函數(shù)返回表中的記錄數(shù):
SELECT COUNT(*) FROM table_name;
SQL COUNT(DISTINCT column_name) 語法
COUNT(DISTINCT column_name) 函數(shù)返回指定列的不同值的數(shù)目:
SELECT COUNT(DISTINCT column_name) FROM table_name;
注釋:COUNT(DISTINCT) 適用于 ORACLE 和 Microsoft SQL Server,但是無法用于 Microsoft Access。
SQL COUNT(column_name) 實(shí)例
下面的 SQL 語句計(jì)算 "access_log" 表中 "site_id"=3 的總訪問量:
實(shí)例
SELECT COUNT(count) AS nums FROM access_log
WHERE site_id=3;
SQL COUNT(*) 實(shí)例
下面的 SQL 語句計(jì)算 "access_log" 表中總記錄數(shù):
實(shí)例
SELECT COUNT(*) AS nums FROM access_log;
執(zhí)行以上 SQL 輸出結(jié)果如下:
SQL COUNT(DISTINCT column_name) 實(shí)例
下面的 SQL 語句計(jì)算 "access_log" 表中不同 site_id 的記錄數(shù):
實(shí)例
SELECT COUNT(DISTINCT site_id) AS nums FROM access_log;
執(zhí)行以上 SQL 輸出結(jié)果如下:

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
把select查詢語句中的列選擇部分換成count(*)或者count(列名)。那么查詢語句就會返回select查詢結(jié)果的數(shù)據(jù)有多少條。也就是帶有count的查詢,其返回結(jié)果就是一行一列的一個(gè)數(shù)字。
例如:
select
*
from
student
where
name
like
'張%';
//查詢所有姓張的學(xué)生信息
select
count(*)
from
student
where
name
like
'張%'
//查詢姓張的學(xué)生的人數(shù)
而count(列名)在統(tǒng)計(jì)結(jié)果的時(shí)候,會忽略列值為空(這里的空不是只空字符串或者0,而是表示null)的計(jì)數(shù)。
select
count(en_score)
from
student
where
name
like
'張%'
//查詢姓張的學(xué)生中有英語成績的學(xué)生人數(shù)

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
select
*
from
people
where
peopleId
in
(select
peopleId
from
people
group
by
peopleId
having
count(peopleId)
>
1)
count中是找出peopleid有重復(fù)的行,是不是這樣?
可以這么用,
也可以這樣:重復(fù)記錄
SELECT
*
FROM
people
WHERE
Id
!=(SELECT
MAX(Id
)
FROM
people
D
WHERE
people.peopleId
=D.peopleId);
ID是主鍵
添加回答
舉報(bào)