我有一个sql数据表。我有多个列为我的Android应用程序,如
studentID,studentName,Day1,Day2,Day3,.......DayN.
现在我想将sum值保存在整数变量中,就像数组一样。 Sum将是Day作为示例1 + 0 + 1 + .... + 1。如果每个studentID的行的列值为1,则将计数1,否则将计数0并使它们相加。我该怎么做?如果你可以帮助我代码。为了帮助我,请致谢。
答案 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