Trang chủ > SQL > Hàm COUNT lệnh đếm trong SQL (SQL p11)

Hàm COUNT lệnh đếm trong SQL (SQL p11)

 SQL có sẵn lệnh để đếm các dòng trong CSDL.

Cú pháp của hàm COUNT:

SELECT COUNT(tên_cột) FROM tên_bảng

Hàm COUNT(*):

Hàm COUNT(*) trả về số lượng các dòng được chọn ở trong bảng.

Ví dụ ta có bảng Persons như sau:

Name Age
Hansen, Ola 34
Svendson, Tove 45
Pettersen, Kari 19

Câu lệnh sau sẽ trả về số lượng các dòng trong bảng:

SELECT COUNT(*) FROM Persons

và kết quả trả về sẽ là:

3

Câu lệnh sau sẽ trả về số lượng những người lớn hơn 20 tuổi:

SELECT COUNT(*) FROM Persons WHERE Age > 20

kết quả trả về sẽ là:

2

Hàm COUNT(column):

Hàm COUNT(column) sẽ trả về số lượng các dòng có giá trị khác NULL ở cột được chỉ định.

Ví dụ ta có bảng Persons như sau:

Name Age
Hansen, Ola 34
Svendson, Tove 45
Pettersen, Kari  

Câu lệnh sau sẽ trả về số lượng những người mà cột Age trong bảng không rỗng:

SELECT COUNT(Age) FROM Persons

và kết quả trả về sẽ là:

2

Mệnh đề COUNT DISTINCT

Lưu ý: Các ví dụ dưới đây chỉ hoạt động với CSDL OracleMS SQL Server, không hoạt động trên MS Access (chưa thử nhiệm với các hệ CSDL khác!)

Từ khoá DISTINCT và COUNT có thể được dùng chung với nhau để đếm số lượng các kết quả không trùng nhau.

Cú pháp như sau:

SELECT COUNT(DISTINCT column(s)) FROM table

Ví dụ ta có bảng Orders như sau:

Company OrderNumber
Sega 3412
W3Schools 2312
Trio 4678
W3Schools 6798

Câu lệnh SQL sau:

SELECT COUNT(DISTINCT Company) FROM Orders

sẽ trả về kết quả là:

3

About these ads
Categories: SQL
  1. Vu Manh Dung
    30/06/2011 lúc 18:59 | #1

    thanks ban rat nhieu ! rat co ich cho nhung nguoi moi hoc SQL

  2. sali4ever
    24/10/2011 lúc 05:50 | #2

    thanks for sharing..

  3. 07/01/2012 lúc 06:51 | #3

    cảm ơn bạn nhé :) đúng lúc cần :D

  4. light
    03/04/2012 lúc 18:09 | #4

    Ban oi minh dung lenh:

    SELECT COUNT(Company, Order) from Table

    khong duoc ban a?

  5. funny
    15/04/2012 lúc 10:49 | #5

    cám ơn

  6. admin
    10/10/2012 lúc 14:24 | #6

    đkm

  7. Admin
    06/12/2012 lúc 10:24 | #7

    werwerwer

  8. hải
    23/01/2013 lúc 08:46 | #8

    Bạn ơi, có thể chỉ mình câu truy vấn ở dưới dùng ntn ko?

    Select (Select count (* ) from employee counter where counter.id<=employee .id) as id,first_name,last_name,sex, address from employee where (Select count (* ) from employee counter where counter.id<=employee .id) between "+start_row_count+" and "+end_row_count +" order by id

  1. No trackbacks yet.

Gửi phản hồi

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Thay đổi )

Twitter picture

You are commenting using your Twitter account. Log Out / Thay đổi )

Facebook photo

You are commenting using your Facebook account. Log Out / Thay đổi )

Google+ photo

You are commenting using your Google+ account. Log Out / Thay đổi )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 56 other followers

%d bloggers like this: