2011-01-18 92 views
10

Được rồi, tôi có thể đã đưa ra một tiêu đề tốt hơn, nhưng không chắc chắn làm thế nào để từ nó vì vậy hãy để tôi giải thích.Oracle/SQL - Đếm số lần xuất hiện của các giá trị trong một cột đơn

Giả sử tôi có một bảng có cột 'CODE'. Mỗi bản ghi trong bảng của tôi sẽ có 'A', 'B' hoặc 'C' làm giá trị của nó trong cột 'CODE'. Điều tôi muốn là đếm số lượng 'A', 'B' và 'C' của tôi.

Tôi biết tôi có thể thực hiện điều này với 3 truy vấn khác nhau, nhưng tôi đang tự hỏi nếu có một cách để làm điều đó chỉ với 1.

Trả lời

35

Sử dụng:

SELECT t.code, 
     COUNT(*) AS numInstances 
    FROM YOUR_TABLE t 
GROUP BY t.code 

Kết quả sẽ giống:

code numInstances 
-------------------- 
A  3 
B  5 
C  1 

Nếu một mã tồn tại chưa được sử dụng, mã sẽ không hiển thị. Bạn cần phải LEFT JOIN vào bảng chứa danh sách các mã để xem những mã không có bất kỳ tham chiếu nào.

+0

Cảm ơn bạn đã hoàn hảo, nhóm đã thoát khỏi tôi vì một lý do ngu ngốc nào đó! – dscl

Các vấn đề liên quan