簡體   English   中英

SQL:如何將年份組合在一起

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM