2011-10-30 18 views

Trả lời

7

Hàm tổng hợp tất cả trả lại nội dung nào đó ngay cả khi không tìm thấy gì, chỉ đơn giản là vì chúng được nhóm hoàn toàn tất cả (bất kỳ) hàng nào trong bảng của bạn để giúp bạn có được giá trị tổng hợp. Hãy count ví dụ:

sqlite> create table foo (a int not null); 
sqlite> select count(a) from foo; 
0 

nullmin như 0count nơi không có hàng được trả lại.

Đây có thể là tài sản hữu ích. Hãy xem xét ví dụ sau:

sqlite> select ifnull(min(a), "I'm null") from foo; 
I'm null 

Nếu bạn muốn lọc trường hợp này nên không có hồ sơ được trả về, bạn có thể sử dụng một điều khoản có (và làm cho rõ ràng nhóm):

sqlite> select min(a) as min_a from foo group by a having min_a not null; 
+0

Hmm. Có cách nào để có nó không trả lại bất cứ điều gì thay vì "đánh dấu" null? – David

+0

Có ... bằng cách sử dụng 'có'. Xem câu trả lời cập nhật của tôi để biết thêm thông tin. –

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