此sql语句包括了两个聚合函数做除法求百分比,并保留两位小数,直接输出字符串形式的百分比.以及对case when在聚合函数的应用. SELECT ss.SS_NAME,SS_ID, COUNT(ea.EA_ID) AS EACounts,--回单交换单个数 COUNT(eb.EB_ID) AS EBCounts,--交换单个数 COUNT(ps.PS_ID) AS PSCounts,--签收单个数 COUNT(SW_ID) AS SWCounts,--运单数个数 THEN 'PS_ID' EN
尊重原创:http://blog.csdn.net/love_java_cc/article/details/78268326 有如下一张表score: 建表语句: CREATE TABLE `score` (`id` int NOT NULL AUTO_INCREMENT ,`name` varchar(20) NOT NULL ,`category` varchar(20) NOT NULL ,`score` int NOT NULL ); 现在要去查询学生的各科成绩和总分,效果如下
实际应用中经常需要统计单位时间的记录数: 一个小时: SELECT ),createdate,) AS 日期 ,DATEPART(hh,createdate) AS 小时,COUNT(*)AS 记录 --varchar(10)得到结果为日期('2016-01-01') FROM log --或者用DATE格式提取日期(VARCHAR(10)换成DATE) where createdate>=CAST(CONVERT(VARCHAR(10),createdate,120))+' 00:00:00'
按用户注册时间统计每天注册的不同来源.不同状态的用户数量: ), RegisterTime, ) RDate ,--DATEPART(YEAR, RegisterTime) 年 ) END 'AWaitForAudit' , ) END 'AAudited' , ) END 'BAudited' INTO #Temp FROM dbo.Customer WHERE RegisterTime BETWEEN '2015-11-23 00:00:00' AND '2015-11-25 23:59:5
select sClass 班级,count(*) 班级学生总人数, sum(case when sGender=0 then 1 else 0 end) 女生人数, sum(case when sGender=0 then 1 else 0 end)*1.0/count(*)女生所占比例, sum(case when sGender=1 then 1 else 0 end) 男生人数, sum(case when sGender=1 then 1 else 0 end)*1.0 /coun
select NVL(sum(case when create_date_time>=to_date('2014-11-24 00:00:00','yyyy-mm-dd hh24:mi:ss') and create_date_time<=to_date('2014-11-24 23:59:59','yyyy-mm-dd hh24:mi:ss') then amount end),0) today ,NVL(sum(case when create_date_time>=to_date(
) FROM ((SELECT BaseID FROM dbo.Life_cheliang WHERE BaseCreateDate BETWEEN '2015-6-5' AND '2015-6-11') UNION (SELECT BaseID FROM dbo.Life_fangchan WHERE BaseCreateDate BETWEEN '2015-6-5' AND '2015-6-11') UNION (SELECT BaseID FROM dbo.Life_tiaozao WHE
一.理解group by和聚合函数 先来看下表1,表名为test: 表1 执行如下SQL语句: 1 2 SELECT name FROM test GROUP BY name 你应该很容易知道运行的结果,没错,就是下表2: 表2 可是为了能够更好的理解“group by”多个列“和”聚合函数“的应用,我建议在思考的过程中,由表1到表2的过程中,增加一个虚构的中间表:虚拟表3.下面说说如何来思考上面SQL语句执行情况: 1.FROM test:该句执行后,应该结果和表1一样,就是原来的表. 2.F
--写sql语句分别按日,星期,月,季度,年统计销售额 --按日 ' group by day([date]) --按周quarter ' group by datename(week,[date]) --按月 ' group by month([date]) --按季 ' group by datename(quarter,[date]) --按年 select sum(consume),year([date]) from consume_record where group by year(