25
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi có đúng khi nói không:
COUNT[expr]
WHERE expr IS NOT *
Sẽ chỉ đếm không phải là null?
Liệu COUNT[*]
sẽ luôn đếm tất cả các hàng? Và điều gì sẽ xảy ra nếu tất cả các cột là null?
Hỏi ngày 30 tháng 8 năm 2009 lúc 15:03Aug 30, 2009 at 15:03
Chính xác. Đếm [*] là tất cả các hàng trong bảng, đếm [biểu thức] là nơi biểu thức không phải là null.
Nếu tất cả các cột là NULL [cho biết bạn không có khóa chính, vì vậy điều này không xảy ra trong cơ sở dữ liệu được chuẩn hóa] [*] vẫn trả về tất cả các hàng được chèn. Chỉ cần không làm điều đó.
Bạn có thể nghĩ về biểu tượng * có nghĩa là "trong bảng" chứ không phải "trong bất kỳ cột nào".
Điều này được đề cập trong hướng dẫn tham khảo MySQL.
Richard
105K21 Huy hiệu vàng200 Huy hiệu bạc258 Huy hiệu Đồng21 gold badges200 silver badges258 bronze badges
Đã trả lời ngày 30 tháng 8 năm 2009 lúc 15:07Aug 30, 2009 at 15:07
GodekegodekeGodeke
15.9k4 Huy hiệu vàng61 Huy hiệu bạc85 Huy hiệu Đồng4 gold badges61 silver badges85 bronze badges
2
Nếu bạn cũng muốn đếm null, hãy thử
SELECT COUNT[IFNULL[col, 1]] FROM table;
Đã trả lời ngày 30 tháng 6 năm 2015 lúc 7:22Jun 30, 2015 at 7:22
RoeyroeyRoey
1.58922 Huy hiệu bạc16 Huy hiệu đồng22 silver badges16 bronze badges
1
mới kiểm tra:
select count[*]
Trả về 1 với một bản ghi chứa đầy nulls1 with one record filled with NULLs
select count[field]
trả về 0.0.
Tôi không thấy điểm trong bản ghi với các giá trị null. Hồ sơ như vậy không được tồn tại.
Đã trả lời ngày 30 tháng 8 năm 2009 lúc 15:16Aug 30, 2009 at 15:16
SergeisergeiSergei
2.7651 Huy hiệu vàng17 Huy hiệu bạc16 Huy hiệu đồng1 gold badge17 silver badges16 bronze badges
1
count[*]
không dành cho các cột không phải null, đó chỉ là cách để đếm tất cả các hàng. Gần tương đương với count[1]
.
Đã trả lời ngày 30 tháng 8 năm 2009 lúc 15:09Aug 30, 2009 at 15:09
Sử dụng MySQL, tôi đã tìm thấy cách đơn giản này:
SELECT count[ifnull[col,1]] FROM table WHERE col IS NULL;
Cách này sẽ không hoạt động:
SELECT count[col] FROM table WHERE col IS NULL;
Đã trả lời ngày 4 tháng 4 năm 2019 lúc 20:07Apr 4, 2019 at 20:07
Nếu bạn muốn chỉ đếm các null, bạn cũng có thể sử dụng ____10 với
SELECT COUNT[IFNULL[col, 1]] FROM table;
1.only the nulls you can also use SELECT COUNT[IFNULL[col, 1]] FROM table;
0 with SELECT COUNT[IFNULL[col, 1]] FROM table;
1.Example:
select count[*] as allRows, count[if[nullableField is null, 1, NULL]] as missing from myTable;
Bạn có thể thay đổi nếu Condiditon để đếm những gì bạn thực sự muốn. Vì vậy, bạn có thể có nhiều tính trong một truy vấn.
Đã trả lời ngày 19 tháng 3 năm 2021 lúc 14:29Mar 19, 2021 at 14:29
Keikikeikikeiki
3.0723 huy hiệu vàng29 Huy hiệu bạc38 Huy hiệu đồng3 gold badges29 silver badges38 bronze badges
chọn Đếm [*] là 'tổng số', tổng [if [columna là null, 1, 0]] là 'nulos' từ tabla;
Đã trả lời ngày 27 tháng 10 năm 2021 lúc 12:57Oct 27, 2021 at 12:57
1