月份问题,谢谢

jackbaby 2005-09-22 04:18:09
invertylog date
1 2005-09-15
2 2005-09-15
3 2005-09-15
4 2005-10-15


上面的表,每一条记录就是一个量,我希望统计每个月份的总量

默认是当月份的,但是查询的时候,可以查询以前月份的sql语句

我是这样想的:用select count(*) from table1 where date like year(%2005-09-15%)
但是默认的情况下要怎么写呢??要定义变量用case????


郁闷


显示结果如下:
9月 3
10月 1


谢谢各位大哥
...全文
94 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackbaby 2005-09-22
  • 打赏
  • 举报
回复
各位大哥,出现了将 expression 转换为数据类型 datetime 时发生算术溢出错误。
的错误,在数据库中,时间的格式是2005-09-15 09:37:46.013的,相这样的问题要怎么解决呢??
xueguang 2005-09-22
  • 打赏
  • 举报
回复
select convert(char(4),year([date]))+'年'+convert(char(2),month([date]))+'月' 月份,count(*) 个数 FROM table1 group by convert(char(4),year([date]))+'年'+convert(char(2),month([date]))+'月'
zlp321002 2005-09-22
  • 打赏
  • 举报
回复
--测试环境
declare @t table(invertylog int identity(1,1), [date] datetime)
insert into @t select '2005-09-15'
union all select '2005-09-15'
union all select '2005-09-15'
union all select '2005-10-15'

--查询
select 月份=convert(varchar(10),datepart(month,[date]))+'月',
个数=count(*)
from @t
group by convert(varchar(10),datepart(month,[date]))+'月'
order by convert(varchar(10),datepart(month,[date]))+'月' desc
--结果
月份 个数
------------ -----------
9月 3
10月 1

(所影响的行数为 2 行)
vivianfdlpw 2005-09-22
  • 打赏
  • 举报
回复
declare @tb table
(
invertylog int,
[date] varchar(10)
)
insert @tb
select 1,'2005-09-15' union
select 2,'2005-09-15' union
select 3,'2005-09-15' union
select 4,'2005-10-15'

--查询
select [月份]
,count(1) as '数量'
from (
select convert(varchar,month(convert(datetime,date)))+'月' as '月份'
,*
from @tb
)t
group by [月份]


/*

月份 数量
-------------------------------- -----------
10月 1
9月 3

(所影响的行数为 2 行)
*/
zlp321002 2005-09-22
  • 打赏
  • 举报
回复
--try
select 月份=datepart(month,date)+'月',
个数=count(*)
from 表
group by
datepart(month,date)
churchatp1 2005-09-22
  • 打赏
  • 举报
回复
select count(*), datepart(month,date) from table1 group by datepart(month,date)
结果:
3 9
1 10
vivianfdlpw 2005-09-22
  • 打赏
  • 举报
回复
select convert(varchar,month(convert(datetime,date)))+'月' as '月份'
,count(1) as '数量'
from table1
group by month(convert(datetime,date))
churchatp1 2005-09-22
  • 打赏
  • 举报
回复
select count(*) from table1 group by datepart(month,date)
作者:July、阿财。 时间:二零一一年十月十三日。 ------------------------------ 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享出微软面试 全部100题答案的完整版,以作为对本博客所有读者的回馈。 一年之前的10月14日,一个名叫July 的人在一个叫csdn 的论坛上开帖分享微软等公司数据结构+算法 面试100题,自此,与上千网友一起做,一起思考,一起解答这些面试题目,最终成就了一个名为:结构之法 算法之道的编程面试与算法研究并重的博客,如今,此博客影响力逐步渗透到海外,及至到整个互联网。 在此之前,由于本人笨拙,这微软面试100题的答案只整理到了前60题(第1-60题答案可到本人资源下 载处下载:http://v_july_v.download.csdn.net/),故此,常有朋友留言或来信询问后面40题的答案。只是 因个人认为:一、答案只是作为一个参考,不可太过依赖;二、常常因一些事情耽搁(如在整理最新的今年 九月、十月份的面试题:九月腾讯,创新工场,淘宝等公司最新面试十三题、十月百度,阿里巴巴,迅雷搜狗 最新面试十一题);三、个人正在针对那100题一题一题的写文章,多种思路,不断优化,即成程序员编程 艺术系列。自此,后面40题的答案迟迟未得整理。且个人已经整理的前60题的答案,在我看来,是有诸多问 题与弊端的,甚至很多答案都是错误的。 互联网总是能给人带来惊喜。前几日,一位现居美国加州的名叫阿财的朋友发来一封邮件,并把他自己 做的全部100题的答案一并发予给我,自此,便似遇见了知己。十分感谢。 任何东西只有分享出来才更显其价值。本只需贴出后面40题的答案,因为前60题的答案本人早已整理上 传至网上,但多一种思路多一种参考亦未尝不可。特此,把阿财的答案再稍加整理番,然后把全部100题的答 案现今都贴出来。若有任何问题,欢迎不吝指正。谢谢。 上千上万的人都关注过此100题,且大都都各自贡献了自己的思路,或回复于微软100题维护地址上,或 回复于本博客内,人数众多,无法一一标明,特此向他们诸位表示敬意和感谢。谢谢大家,诸君的努力足以影 响整个互联网,咱们已经迎来一个分享互利的新时代。 感谢诸君,请享用.....

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧