我有一个包含 6 列的预订表,分别称为booked_start、booked_stop、used_start、used_stop、invoice_start、invoice_stop。这些值是浮点数。我想得到值大于 0 的行的总和,但我也希望它计算说 used_stop - used_start。
目前我正在处理这个:
SELECT
room,
IF( booked_stop_time > 0, sum(booked_stop_time - booked_start_time), 0 ) as booked,
IF( used_stop_time > 0, sum(used_stop_time - used_start_time), 0 ) as used,
IF( invoice_stop_time > 0, sum(invoice_stop_time - invoice_start_time), 0 ) as invoice
FROM bookings
问题是如果 expr1 返回 false 它将重置总和。如果总和大于 0,我只想将行值添加到总和中。
我也尝试过使用一个案例,但这并没有真正奏效。也许我应该在 php 中进行计算?