zpxc.net
当前位置:首页 >> SQL根据时间分组问题? >>

SQL根据时间分组问题?

在分组的时候使用得到日期年份的函数year()进行分组就可以了. select year(aghqjtsj01) as f_log_time,count(1) as counts from t_handleresou_log group by year(f_log_time)

1.如果你的时间格式是2012-01-13 17:35:52.217这样的形式,(主要是那个01不要是1),用下面这个 SELECT convert(varchar(10),时间,23),SUM(数字数据) FROM 表 group by convert(varchar(10),时间,23) 2.如果你的时间格式不是上面的格式,先转化成dat...

首先,使用下面语句: select date, count(date) cnt from user where date is not null group by date 结果: date cnt 1月 2 2月 2 3月 1 在上面语句基础上改进,使之与要求结果一致: select max(case when date = '1月' then cnt else 0 end...

--很简单啊,楼主请看: --以下在SQL2005测试通过。 create table #t(Uname varchar(10),age int) insert #t select '啊啊',19 union all select '信息',23 union all select '宝宝',31 union all select '喔喔',21 union all select '米米',6 s...

用分析函数row_number来给分组内的记录编号,然后取编号值为1的记录即可。 select s.*from ( select v.*, row_number() over (partition by b order by c desc) as order_num from #b v) swhere s.order_num = 1

数据库软件不支持这样的输出方法,这个是报表软件干的事情,如果想随意输出样式,那要报表软件干嘛,开发报表软件就是为了解决这个事情的。

使用日期的datepart函数。 select DATEPART(WEEKDAY,getdate())

sql server 2012以下版本实现方法: WITH TMP1 AS (SELECT T.*, ROW_NUMBER() OVER(ORDER BY DATE) RN FROM 表 T)SELECT USERID, DATEFROM (SELECT A.*, CASE WHEN A.USERID != B.USERID OR B.USERID IS NULL THEN A.DATE ELSE NULL END AS DATE ...

用group by就可以解决。 比如表名为test,数据如下 id grade 1 10 1 20 2 40 2 30 现在要求按id分组查询grade的和,可以用如下语句: select id,sum(grade) as grade from test group by id; 得到的结果是 id grade 1 30 2 70

应该是五个字段吧? select a,sum(b) as b ,sum(c) as c,sum(d) as d from table1 where e between '2011-1-1' and '2011-1-3' group by a 改成这样就可以了 select a,sum(b) as b ,sum(c) as c from table1 where d between '2011-1-1' and '20...

网站首页 | 网站地图
All rights reserved Powered by www.zpxc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com