Tôi muốn truy vấn bảng đơn đặt hàng và hiển thị id khách hàng và tổng số đơn đặt hàng của mình, tuy nhiên đơn hàng có thể có tổng số âm hoặc dương.Truy vấn tập hợp SQL cho SUM, nhưng chỉ cho phép số tiền dương (nếu không 0)
select customer_id, SUM(order_total) from orders group by customer_id;
Bây giờ câu hỏi của tôi - làm thế nào tôi có thể đạt được sau một sql truy vấn:
Nếu tổng số tiền là tích cực, tôi muốn hiển thị nó như là; nếu tổng số tiền âm, tôi chỉ muốn hiển thị 0 thay cho số tiền thực tế.
Điều tôi đang tìm là một hàm có thể xử lý điều này, tương tự như hàm IFNULL
(IFNULL(SUM(order_total),0)
), nhưng thay vì kiểm tra giá trị rỗng, nó sẽ kiểm tra kết quả âm.
Pseudo code:
IFNEGATIVE(SUM(order_total),0)
Có một cách đơn giản trong sql chuẩn (hoặc cụ thể trong Mysql 5.5, cũng sẽ là ok).
Cảm ơn rất nhiều, tôi đã không sử dụng trường hợp trong sql thường, tốt để biết :) Tôi nghĩ rằng một số câu trả lời khác được cung cấp (tức là IF cũng làm việc), tuy nhiên, hãy để tôi chấp nhận phiếu bầu này ở đây, tôi cũng upvote những người khác. –