Mysql 从单个表中选择统计数据

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.每行显示一年、一种类型以及该年收到的该特定类型信件总数 现在,我不知道如何在原始表中提取年份范围,然后如何进行选择查询。请在这方面提供帮助您可以使用年份功能从到达日期获取年份,并且

我希望我可以编写select查询的某一部分作为参考,但我无法找到解决此问题的方法。 我有一张有几行的桌子,重要的四行是

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()
函数将
到达日期
转换为
到达年份