首页 > 解决方案 > 任何人都可以检查查询我也想提取年份和月份列

问题描述

想要在过去 2 年中按月提取数据。下面的查询实际计算 1 个月的数据。

在此处输入图像描述

SELECT CAST (g1.no_of_member_cancelled AS DECIMAL(10, 2)) / 
       CAST (g2.no_of_live_member AS DECIMAL(10, 2)) AS x, 
       g1.homebranch, 
       g1.locationname

FROM   (SELECT Count(*) AS No_of_Member_Cancelled, 
               M.homebranch, 
               M.locationname

        FROM   ax.memberships M 
        WHERE  M.activeend BETWEEN Dateadd(month, Datediff(month, 0, Getdate()) 
                                                  - 1, 0) 
                                   AND 
                                           Dateadd(month, Datediff(month, 0, 
                                                          Getdate()) 
                                           , -1) 
        GROUP  BY M.homebranch, 
                  M.locationname) AS g1 
       INNER JOIN (SELECT Count(*)AS No_of_Live_Member, 
                          M.homebranch, 
                          M.locationname

                   FROM   ax.memberships M 
                   WHERE  M.activestart BETWEEN Dateadd(month, Datediff(month, 0 
                                                               , 
                                                               Getdate()) - 1, 
                                                0) AND 
                          Dateadd(month, Datediff(month, 
                                         0, Getdate( 
                                         )), -1) 
                   GROUP  BY M.homebranch, 
                             M.locationname
                             ) AS g2 
               ON g1.homebranch = g2.homebranch 
                  AND g1.locationname = g2.locationname 

想要在过去 2 年中按月提取数据。下面的查询实际计算 1 个月的数据。

标签: sqlsql-servertsql

解决方案


推荐阅读