如何使用sql从日期字段按月分组

2023-12-03

如何仅按日期字段中的月份进行分组(而不是按天分组)?

这是我的日期字段的样子:

2012-05-01

这是我当前的 SQL:

select  Closing_Date, Category,  COUNT(Status)TotalCount from  MyTable
where Closing_Date >= '2012-02-01' and Closing_Date <= '2012-12-31'
and Defect_Status1 is not null
group by  Closing_Date, Category

我会用这个:

SELECT  Closing_Date = DATEADD(MONTH, DATEDIFF(MONTH, 0, Closing_Date), 0), 
        Category,  
        COUNT(Status) TotalCount 
FROM    MyTable
WHERE   Closing_Date >= '2012-02-01' 
AND     Closing_Date <= '2012-12-31'
AND     Defect_Status1 IS NOT NULL
GROUP BY DATEADD(MONTH, DATEDIFF(MONTH, 0, Closing_Date), 0), Category;

这将按每个月的第一天分组,所以

`DATEADD(MONTH, DATEDIFF(MONTH, 0, '20130128'), 0)` 

会给'20130101'。我通常更喜欢这种方法,因为它将日期保留为日期。

或者你可以使用这样的东西:

SELECT  Closing_Year = DATEPART(YEAR, Closing_Date),
        Closing_Month = DATEPART(MONTH, Closing_Date),
        Category,  
        COUNT(Status) TotalCount 
FROM    MyTable
WHERE   Closing_Date >= '2012-02-01' 
AND     Closing_Date <= '2012-12-31'
AND     Defect_Status1 IS NOT NULL
GROUP BY DATEPART(YEAR, Closing_Date), DATEPART(MONTH, Closing_Date), Category;

这实际上取决于您想要的输出是什么。 (在您的示例中,“结束年份”不是必需的,但如果日期范围跨越年份边界,则可能需要)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用sql从日期字段按月分组 的相关文章

  • 在 SQL Server 中执行嵌套 case 语句逻辑的最佳方法

    我正在编写一个 SQL 查询 其中返回的一些列需要根据很多条件进行计算 我目前正在使用嵌套的 case 语句 但它变得混乱 有更好的 更有组织性和 或可读性 方法吗 我使用的是 Microsoft SQL Server 2005 一个简化的
  • SELECT * FROM (VALUES (x,y)) AS TableLiteral(Col1, Col2) 的名称

    以下是有效的 SQL 语法 SELECT FROM VALUES p q x y AS TableLiteral Col1 Col2 并返回表 Col1 Col2 1 p q 2 x y 此语法可以进一步用于 CTE 等 这个有名字吗 我通
  • 当我在 JDBC 应用程序中调用PreparedStatement.cancel() 时,它实际上会在 Oracle 数据库中杀死它吗?

    我有针对 Oracle 10g 数据库运行的 Java JDBC 应用程序 我设置了一个PreparedStatement来执行查询 然后调用ps executeQuery 来运行它 有时查询需要很长时间 我需要终止它 我有另一个线程访问该
  • 实体框架与oracle数据库的连接

    我使用的是 Entity Framework 6 1 版本和 oracle 11 我是实体框架的新手 任何人都可以建议连接 oracle 的先决条件是什么 任何更改都需要在 web config 中进行 在web config中 默认它是与
  • sql自连接表删除重复行

    我有下表 USERID LANGUAGEID 1 2 1 7 1 8 2 10 2 3 现在我想为每个用户创建所有可能的语言对 这意味着我希望结果集是 对于用户 1 2 7 7 8 2 8 对于用户 2 10 3 为此 我做了以下查询 SE
  • 如何在行的列中插入当前日期

    如何将当前日期插入 MS SqlServer Mgm Studio 中 编辑数据 视图中的行列中 我想得到等价的值GetDate 函数调用 这是我希望能澄清问题的图片 您无法键入函数 因此请键入日期或以下解决方案之一 创建默认值GetDat
  • 为什么我要费心使用全文搜索?

    我是全文搜索新手 我使用了以下查询 Select From Students Where FullName LIKE abc 学生表包含数百万条记录 所有记录都是随机的 如下所示 QZAQHIEK VABCNLRM KFFZJYUU 仅用了
  • SQL Server 2008中的分割函数

    I have Table1像这样的列 ID Name 1 MSSQL 2 MySQl 3 Oracle In Table2 我有一个像这样的专栏 Databasename 1 3 2 1 2 我的输出应该是 Databasename MSS
  • T SQL - 相关子查询的雄辩替换

    我有一个查询当前正在使用相关子查询来返回结果 但我认为可以使用 ROW NUMBER 更雄辩地解决该问题 问题在于某个项目多年来的值 v 的概况 每个项目都有多个版本 每个版本都有自己的配置文件 该配置文件在版本引入时启动 当前数据如下所示
  • 如何从vb.net插入两个表

    我想将两个值插入到我创建的 SQL 数据库的两个表中 在我的 vb net 代码中 我的问题是 如果我插入它 它会被插入 但仅在一张表中 否则有时它不会进入内部 这是我使用过的代码 c TextBox1 Text sh TextBox2 T
  • 如何使用 SQLPLUS 假脱机到 CSV 格式的文件?

    我想将一些查询提取为 CSV 输出格式 不幸的是 我无法使用任何奇特的 SQL 客户端或任何语言来做到这一点 我必须使用SQLPLUS 我该怎么做 您还可以使用以下内容 尽管它确实在字段之间引入了空格 set colsep separate
  • 在触发器中使用 OUTPUT/INTO 而不是插入触发器会使“插入”表无效

    我在使用带有替代插入触发器的表时遇到问题 我创建的表包含一个标识列 我需要在此表上使用而不是插入触发器 我还需要从触发器中查看新插入的标识的值 这需要在触发器中使用 OUTPUT INTO 问题是执行 INSERT 的客户端无法看到插入的值
  • SQL Server 作业/时间表 - 美国与英国夏令时调整

    SQL Server 作业 时间表 美国与英国夏令时调整 我们有一台位于英国的服务器 需要在 16 30 美国中部时间 这可能看起来很奇怪 但这是因为某些数据的可用性 运行 SQL 代理作业 通常这不会成为问题 因为英国和美国之间的时差为
  • 使用 SimpleMembershipProvider 更新自定义用户配置文件字段?

    我添加了一个自定义字段UserProfile表名为ClassOfYear我可以在注册过程中将数据获取到个人资料中 如下所示 var confirmationToken WebSecurity CreateUserAndAccount mod
  • SQL Server:我可以使用 EXEC 来运行外部应用程序吗?

    您好 感谢您抽出时间 我一直在网上到处搜索一个示例 其中 SQL 触发器将运行外部应用程序 但我没有运气 我所看到的是 EXEC 将执行 SQL 过程 我需要这个的原因是 我有一个包含许多表的 SQL Server 2010 当某些表上发生
  • 在 Access 2007 中使用 Group By 计算中位数的最佳方法

    我有一个表 其中包含一本书 然后包含该书的多个价格 这是一个高度简化的示例 ID BOOK PRICE 1 BOOK1 10 2 BOOK1 15 3 BOOK1 12 4 BOOK2 8 5 BOOK2 2 我很容易计算平均值 但是一定有
  • 在存储过程中使用动态sql中的临时表

    我正在 SQL Server 2012 中编写存储过程 我有一个像这样定义的临时表 DECLARE CURRENT RET WEEK PTIMEIDS TABLE PTIMEID INT 我也在使用EXECUTE编写动态 SQL 查询 有什
  • 如何在 SQL 中将整数列值加 1

    我的问题是 如何将列的值加 1 例如 假设有一列ID值为 1 2 3 4 现在当我更新这张表时ID列应增加 1 Now ID将变成 2 3 4 5 为表中的每个值加一 UPDATE myTable SET ID ID 1 要创建一个新值 比
  • 逗号分隔列表作为单个字符串,T-SQL [重复]

    这个问题在这里已经有答案了 我的 T SQL 查询生成以下结果集 ID Date 756 2011 08 29 756 2011 08 31 756 2011 09 01 756 2011 09 02 我怎样才能像这样转换 ID Date
  • 获取 TransactSql 批处理中的语句数计数

    对于不使用 Delphi 的读者 虽然以下内容是根据 Delphi 编码来表达的 但我的实际技术问题不是特定于 Delphi 的 而是关于如何找出 Sql Server 如何 理解 TransactSql 批处理提交给它 TAdoQuery

随机推荐

  • 当与具有多个文本子节点的节点一起使用时,XPath contains(text(),'some string') 不起作用

    我对 XPath contains dom4j 有一个小问题 假设我的 XML 是
  • Play Framework 测试助手需要隐式“Materializer”

    我正在使用 Play 2 6 x 和测试助手status result 有方法 def status of Accumulator ByteString Result implicit timeout Timeout mat Materia
  • 如何描述本地函数(跟踪)?

    在 Common Lisp 中 函数 跟踪名称 可用于查看有关函数调用的输出 如果我的函数是用局部作用域声明的 我如何描述它以进行跟踪 例如 如何跟踪栏 如下 defun foo x labels bar y format t bar a
  • 使用 Cloud Functions 作为 GC Composer DAG 中的运算符

    码友们 对于我有兴趣使用的项目谷歌云作曲家处理由可在工作流之间共享的操作组成的多个工作流 在我看来 云函数是执行任务的完美方式 因为这些操作在 Composer 中DAG 据我了解 我需要一个运算符来调用云函数 其中包含特定于特定 DAG
  • C#:将桌面壁纸设置为纯色

    我使用此代码删除当前壁纸并设置纯色 public static class WallpaperColorChanger public static void SetColor Color color Remove the current w
  • MongoDB 中的 findAndModify 和 update 有什么区别?

    我有点困惑findAndModifyMongoDB 中的方法 相对于它有什么优势update方法 对我来说 它似乎只是先返回项目 然后更新它 但为什么我需要先退货呢 我读了MongoDB 权威指南它说它对于操作队列和执行其他需要获取和设置风
  • 如何在颤动中从图库中检索图像[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在尝试在 Flutter 中制作一个图像选择器 我可以从图库中选择图像 我不知道图像选择器的一些内置代码或库 我知道我可能有点晚了 但你可以使用这个库 它返回图库以及当前正在
  • ASP.NET Core 中的目录服务和帐户管理问题

    我有一个 ASP NET Core API 项目 我想利用 DirectoryServices 和 DirectoryServices AccountManagement 命名空间 经过一番研究 我想我找到了一些可以使用的 project
  • Spring boot spring.batch.job.enabled=false 无法识别

    I tried spring batch job enabled false在 application properties 和 Dspring batch job enabled false运行 jar 文件时 However Enabl
  • 指定的填充模式对此算法无效 - .net Core

    当我从 net 4 5 转换为 net core 2 时 收到以下错误消息 代码完全相同 我看过一些帖子 但没有一个能解决这个错误 我正在使用 RijndaelManaged 加密 Specified padding mode is not
  • 实现Unity Singleton的最佳方式?

    我是 Unity 的初学者 我目前正在实施单例 我在学习的过程中有疑问 像标题一样在Unity中实现Singleton的最佳方式是什么 我明白为什么要使用单例 那是 创建一个对象一次 并在需要时使用它 我理解正确吗 实现单例的方法有很多种
  • 如何在react中动态添加类?

    在简单的井字游戏中 当有人获胜时 突出显示导致获胜的三个方块 p class codepen See the Pen a href https codepen io akshgods pen PQyERJ Simple tic tac ga
  • 以编程方式修剪 mp3 文件

    嘿 我需要在我的应用程序中修剪 剪切 编辑音频文件 我尝试使用 ffmpeg 但我不知道如何安装这个库或者如何使用它 所以 有人能给我一个好的建议吗 指南如何将 ffmpeg 2 3 与 android ndk r10 for window
  • SendKeys.SendWait 在 Windows 7 中不发送“{ENTER}”

    我已经在带有 XP 和 Windows 7 的 Visual Studio 2008 中尝试过此操作 SendKeys SendWait sometext ENTER ENTER 这用于在打开文件对话框中打开文件 它可以在带有 VS2008
  • GLSL:iPhone 应用程序无法访问内置属性?

    我在这里真的很绝望 我使用 Xcode 尝试在 iPhone 上实现一些 OpenGL 的东西 我必须为 Phong Lighting 编写一个着色器 我声明了我的几何体 顶点 索引 计算等 并将相应的参数作为属性传递给着色器 用 GLSL
  • 适用于 Android 的 Firebase 浅查询参数

    根据以下链接 Firebase 查询有一个可用的浅选项 Firebase 中的浅查询 Android 也支持吗 所有 Firebase SDK 都不支持对数据库进行浅层查询 它们都检索整个节点 唯一支持浅层查询的 Firebase 数据库
  • MySQL INSERT IF(自定义 if 语句)

    首先 这是问题的简洁摘要 是否可以运行INSERT有条件的陈述 与此类似的东西 IF expression INSERT 现在 我知道我可以使用存储过程来做到这一点 我的问题是 我可以在查询中执行此操作吗 现在 我为什么要这么做 假设我们有
  • 无法在 Google Slides API 上使用 PageSize 创建演示文稿

    我正在尝试创建新的 4 3 演示文稿 而不是 16 9 我阅读了此参考文献并编写了一些 ruby 代码 但它不起作用 新演示文稿的高度与我指定的高度不同 方法 presentations create 幻灯片 API谷歌开发者 foo rb
  • Java5 -XX:MaxHeapFreeRatio=45 即使超过 45% 的堆空闲也不会释放堆

    我有一个带有以下参数的 java 应用程序 但即使总可用空间大于 45 可以通过可视化 VM 查看 堆也不会被回收 JVM 是否有任何原因不释放该堆空间 相同的设置在 Java6 中按预期工作 运行Java5运行时和编译时 java jar
  • 如何使用sql从日期字段按月分组

    如何仅按日期字段中的月份进行分组 而不是按天分组 这是我的日期字段的样子 2012 05 01 这是我当前的 SQL select Closing Date Category COUNT Status TotalCount from MyT