从宿舍检索数据的SQL

从宿舍检索数据的SQL,sql,sql-server,Sql,Sql Server,我是SQL新手。我当时在练习,就这样来了。如何分别检索第一、第二、第三和第四季度的销售总数。我知道我没有提供任何工作依据,我只是想了解逻辑和可用于执行此操作的函数。您可以使用SUM()来计算销售额的总金额,以及COUNT(*)来计算销售额的总金额。至于进一步细分(如按季度),您需要提供更多关于数据结构的信息。您没有指定正在使用的RDBMS,也没有指定任何表结构,因此我只能提供一些一般性建议 首先,您需要获得表中每个记录的年度和季度。据我所知,每个RDBMS都有一些函数可以帮助您提取日期的年份和月

我是SQL新手。我当时在练习,就这样来了。如何分别检索第一、第二、第三和第四季度的销售总数。我知道我没有提供任何工作依据,我只是想了解逻辑和可用于执行此操作的函数。

您可以使用SUM()来计算销售额的总金额,以及COUNT(*)来计算销售额的总金额。至于进一步细分(如按季度),您需要提供更多关于数据结构的信息。

您没有指定正在使用的RDBMS,也没有指定任何表结构,因此我只能提供一些一般性建议

首先,您需要获得表中每个记录的年度和季度。据我所知,每个RDBMS都有一些函数可以帮助您提取日期的年份和月份。假设名为
dt
的列包含日期,您可以执行以下操作:

select year(dt) as y, month(dt) as month, sales
from your_table
select year(dt) as y
     , (case 
             when month(dt) <= 3 then 1
             when month(dt) <= 6 then 2
             when month(dt) <= 9 then 3
             else 4
       end) as q
     , sales
from your_table
这只是解决方案的一部分。你需要拿到硬币;同样,据我所知,有一些功能可以帮助您。在MS Access中,您有
Iif()
,在其他RDBMS(如MySQL)中,您可能有
IF()
和/或
CASE。。。结束
,这样您就可以通过以下方式获得所需:

select year(dt) as y, month(dt) as month, sales
from your_table
select year(dt) as y
     , (case 
             when month(dt) <= 3 then 1
             when month(dt) <= 6 then 2
             when month(dt) <= 9 then 3
             else 4
       end) as q
     , sales
from your_table

您应该能够使用类似这样的方法来简化。DATEPART()函数可以在Microsoft的网站上找到


注意:每季度将1更改为2,然后更改为3,然后更改为4。还要将sales更改为正确的列名,将YourTable更改为您的表名。

什么数据库引擎?对不起,它的sql server 2014感谢您的快速响应。例如:我只有五列:ID、Product、Price、OrderAmount、DateSeld,我想要第一季度的订单总数。我需要将第一季度的订单与其他季度的订单分开,并使用count来计算总销售额,对吗?很抱歉没有指定rdbms,即其sql server 2014。我可以用它的哪些功能来做这些呢?@AeonifyIpse你可以在谷歌中搜索它们谢谢,这很有效,当它很简单的时候,我想得太多了。