在sql DB中添加一行的多个列

时间:2018-05-14 03:51:36

标签: android sql

我有一个sql数据表。我有多个列为我的Android应用程序,如

studentID,studentName,Day1,Day2,Day3,.......DayN.

现在我想将sum值保存在整数变量中,就像数组一样。 Sum将是Day作为示例1 + 0 + 1 + .... + 1。如果每个studentID的行的列值为1,则将计数1,否则将计数0并使它们相加。我该怎么做?如果你可以帮助我代码。为了帮助我,请致谢。

2 个答案:

答案 0 :(得分:0)

when语句根据条件创建列的情况。例如,如果Day1,Day2是整数,可以是1或0,那么根据你的问题,我会写。

select studentID,studentName, sum(case when Day1+Day2+Day3 <3 then 0 else 1 end) as derived_col
from table
group by studentID,studentName

因为你想在条件

后汇总它

现在,如果您有太多的日期列并且编写它很麻烦,那么您将不得不尝试别的东西

答案 1 :(得分:0)

像这样编写查询:

此处x =天数列。

select studentID,studentName,case when sum(Day1+Day2+...+DayN) <x then 0 else 1 end as dayCount
from table

dayCount列中,您将获得所需的输出。

如果您只想要总和,那么请使用:

select studentID,studentName,sum(Day1+Day2+...+DayN)  as dayCount
from table group by studentID,studentName