Tôi đang cố chạy truy vấn sau để cung cấp% số hàng trong patients
bảng có giá trị refinst
cột. Tôi tiếp tục nhận được kết quả là 0.
select (count (refinst) / (select count(*) from patients) * 100) as "Formula"
from patients;
Bảng này có 15556 hàng và select count(refinst) from patients
cho tôi biết rằng 1446 trong số đó có giá trị trong refinst
cột. Phản hồi tôi muốn nhận được từ truy vấn sẽ là 30,62 ( 1446/15556*100=30.62XXXXX
, được làm tròn thành hai số thập phân).
Tôi khá chắc chắn rằng nó có liên quan đến kiểu dữ liệu của kết quả đếm (số nguyên tôi giả sử). Nếu tôi chia một số nguyên cho một số nguyên và kết quả nhỏ hơn 0 thì nó có bị cắt thành 0 không? Nếu đó là trường hợp, ai đó có thể chỉ cho tôi cách truyền kết quả của các số là một số có 2 chữ số thập phân để kết quả cũng được làm tròn thành 2 chữ số thập phân không?
Tôi chắc chắn có một cách tốt hơn để viết mã này hơn nhiều câu lệnh đếm. Tôi đang tìm kiếm một cách hiệu quả hơn bộ xử lý để viết truy vấn này nói riêng.