Mysql 从单个表中选择统计数据
我希望我可以编写select查询的某一部分作为参考,但我无法找到解决此问题的方法。 我有一张有几行的桌子,重要的四行是Mysql 从单个表中选择统计数据,mysql,sql,sqlite,Mysql,Sql,Sqlite,我希望我可以编写select查询的某一部分作为参考,但我无法找到解决此问题的方法。 我有一张有几行的桌子,重要的四行是 ID-到达日期-类型-收到的信件总数 1-'2014-09-26'-A-3 等等等等 我想得到的是: 年份-类型-收到的信函总数 2014-A-27 2014-B-33 2012-A-21 i、 e.每行显示一年、一种类型以及该年收到的该特定类型信件总数 现在,我不知道如何在原始表中提取年份范围,然后如何进行选择查询。请在这方面提供帮助您可以使用年份功能从到达日期获取年份,并且
ID-到达日期-类型-收到的信件总数
1-'2014-09-26'-A-3
等等等等
我想得到的是:
年份-类型-收到的信函总数
2014-A-27
2014-B-33
2012-A-21
i、 e.每行显示一年、一种类型以及该年收到的该特定类型信件总数
现在,我不知道如何在原始表中提取年份范围,然后如何进行选择查询。请在这方面提供帮助您可以使用
年份
功能从到达日期
获取年份,并且您可以使用分组方式
和总和
合计返回每年收到的总信函
和类型
:
select
year(Arrival_Date) as [Year],
Type,
sum(Total_Letters_Received) as Total_Letters_Received
from YourTableName
group by
year(Arrival_Date),
Type
您只需要使用sum()
aggregate函数并按日期的年份部分进行分组
如果在MySQL上,请使用year()
函数:
select
year(Arrival_Date) as Year,
Type,
sum(Total_Letters_Received) as Total_Letters_Received
from
your_table
group by
year(Arrival_Date), Type
select
strftime("%Y", Arrival_Date) as Year,
Type,
sum(Total_Letters_Received) as Total_Letters_Received
from
your_table
group by
strftime("%Y", Arrival_Date), Type
如果使用SQLite3,请使用strftime()
函数:
select
year(Arrival_Date) as Year,
Type,
sum(Total_Letters_Received) as Total_Letters_Received
from
your_table
group by
year(Arrival_Date), Type
select
strftime("%Y", Arrival_Date) as Year,
Type,
sum(Total_Letters_Received) as Total_Letters_Received
from
your_table
group by
strftime("%Y", Arrival_Date), Type
将来,您可能希望仅使用实际使用的特定数据库来标记问题,而不是使用多个不同的数据库,除非您需要解决所有问题的答案(如果需要,最好在问题中指明答案以避免混淆).这是一个分组依据
查询,是SQL语言的基本部分。您可以使用YEAR()
函数将到达日期
转换为到达年份
。