[英]SQL: how to group years together
'SELECT year, scores FROM database'
如果我的數據看起來像
year score
1901 100
1902 300
1902 300
1911 300
1921 100
. .
. .
. .
2000
而且我有興趣以10人為一組來看這些年,並總結他們各自的分數。 因此,對於1901年至1910年,總得分將是700.對於1911年 - 1920年,它將是300.如何在SQL中執行此操作?
根據您的實際DBMS,如下所示:
select cast( (year / 10) as integer) * 10 as year_group,
sum(score)
from scores
group by year_group
order by year_group;
以上是ANSI SQL,可以在許多DBMS上使用。 但是,所有DBMS都不支持cast()運算符,因此DBMS的語法可能略有不同。
SQLFiddle: http ://sqlfiddle.com/#!15/7e4fb/1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.