我正在努力使用Access数据库: 我有一个大型数据库,标题为TAG,ZST,KL和R1H00到R1H23(其中24个,每个代表一天一小时),我需要从中获取一个特定的数据集:
SELECT TAG, ZST, (R1H00 + R1H01 + R1H02 + R1H03 + R1H04 + R1H05 + R1H06 + R1H07 + R1H08 + R1H09 + R1H10 + R1H11 + R1H12 + R1H13 + R1H14 + R1H15 + R1H16 + R1H17 + R1H18 + R1H19 + R1H20 + R1H21 + R1H22 + R1H23) AS TOTAL
FROM Klassendaten
WHERE KL = "SWISS7_PW"
到目前为止一切顺利,但结果包含许多具有相同ID(ZST)的项目。我需要使用相同的ZST对所有条目求和,但到目前为止我无法做到这一点。 (我尝试使用GROUP BY语句,但这只会导致错误)
这里有经验丰富的SQL人员可以帮我解决这个问题吗?
答案 0 :(得分:1)
使用分组
def up
Foo.find_each do |a|
a.mystery_id = 1
a.save!
end
Foo.all.each do |a|
foo = foo.new(
:name => a.name,
:name => a.description,
:mystery_id => 2
)
reminderEvent.save!
end
end
def down
TODO: somehow remove half all with mystery_id = 2
end
答案 1 :(得分:0)
使用Sum()函数
SELECT TAG, ZST, Sum(R1H00 + R1H01 + R1H02 + R1H03 + R1H04 + R1H05 + R1H06 + R1H07 + R1H08 + R1H09 + R1H10 + R1H11 + R1H12 + R1H13 + R1H14 + R1H15 + R1H16 + R1H17 + R1H18 + R1H19 + R1H20 + R1H21 + R1H22 + R1H23) AS TOTAL
FROM Klassendaten
where ZST = '(Whatever it is)'
group by tag, zst