1 回答
TA贡献1797条经验 获得超4个赞
我将它们添加到sql中:
SELECT SUM(
coalesce(d1,0)+coalesce(d2,0)+coalesce(d3,0)+coalesce(d4,0)+coalesce(d5,0)+coalesce(d6,0)+coalesce(d7,0)+coalesce(d8,0)+coalesce(d9,0)+coalesce(d10,0)+coalesce(d11,0)+coalesce(d12,0)+coalesce(d13,0)+coalesce(d14,0)+coalesce(d15,0)+coalesce(d16,0)+coalesce(d17,0)+coalesce(d18,0)+coalesce(d19,0)+coalesce(d20,0)+coalesce(d21,0)+coalesce(d22,0)+coalesce(d23,0)+coalesce(d24,0)+coalesce(d25,0)+coalesce(d26,0)+coalesce(d27,0)+coalesce(d28,0)+coalesce(d29,0)+coalesce(d30,0)+coalesce(d31,0))
) total_hours ...
不过,最好重新组织数据库,为每个值分配一个单独的行。任何时候你有名为column1、column2等的列,这都是糟糕的数据库设计的标志。所以像这样:
create table volhours (
date date not null primary key,
volhours int
);
并选择一系列日期的总小时数:
select coalesce(sum(volhours),0) total_hours from volhours where date between '2020-01-01' and '2020-01-31';
当然,您应该使用占位符。
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报