现有SQL如下,查询结果如下图
你这是什么数据库,以oracle或sqlserver为例给你改了下,你看看,其他数据库的话另外说明
创新互联公司2013年至今,先为新华等服务建站,新华等地企业,进行企业商务咨询服务。为新华企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
with s as
(select m.* from
(select A.id,A.projectname,A.projectno,A.reportyear,A.requarter,A.reporttype,max(A.endtime) as subdate
from
(select cm.processinstid id,cm.projectname projectname,cp.projectid projectno,cm.reportyear reportyear,cm.reportissue requarter,cm.reporttype,wi.endtime
from ct_proj_manage cm ,wfprocessinst w,ct_project cp,wfworkitem wi
where cm.processinstid=w.processinstid and cm.projectid=cp.projectid and w.currentState '8'
and w.processinstid=wi.processinstid and wi.activitydefid = 'manualActivity1' and wi.endtime is not null
order by to_number(cm.processinstid),wi.endtime desc) A
group by A.id,A.projectno,A.projectname,A.reportyear,A.requarter,A.reporttype) m
where m.id in (select distinct cm.processinstid from ct_proj_manage cm,wfprocessinst w ,wfworkitem wi
where cm.processinstid=w.processinstid and w.processinstid=wi.processinstid
and wi.activitydefid = 'manualActivity2'and w.currentState '8'))
select s.* from s,
(select s.projectname,s.reportyear,s.requarter,s.reporttype,max(subdate) subdate from s group by s.projectname,s.reportyear,s.requarter,s.reporttype) s1,
where s.projectname=s1.projectname
and s.reportyear=s1.reportyear
and s.requarter=s1.requarter
and s.reporttype=s1.reporttype
and s.subdate=s1.subdate
sqlserver 求四个季度销量总和,最大前10个产品 格式按下面的图片
select top 10 sum(数量) as [销量], 产品名
order by [销量] group by 产品名
没测,试试吧。
sql 如何取当季最后一个月的第一天
oracle(本季度第一天+两个月=本季度最后一个月第一天)
SELECT to_char(add_months(TRUNC(SYSDATE, 'Q'), 2), 'YYYY-MM-DD') FROM dual;
sqlserver:还是先找到当前季度的第一天然后加两个月
Select DATEADD(mm,2,DATEADD(qq, DATEDIFF(qq,0,getdate()), 0))
mysql:想不出来,mysql的函数很多都是关于天的,而且太久没用,差不多都还给书本了。
其实也可以用case when来写,首先判断当前时间是第几季度,然后用case when来写,等于1就是3.1,等于2就是6.1,以此类推,这个应该不算很麻烦,判断三次,就可以了。
SQL SERVER查询时间是一年中第几周的函数
SQL SERVER查询时间是一年中第几周,使用函数 datepart()。
例:查询 ‘2017-1-1’是2017年的第几周,语句如下
select datepart(wk,'2017-1-1')
datepart函数说明
一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
二、语法:DATEPART(datepart,date)
三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:
四、实例演示
假设我们有下面这个 "Orders" 表:
我们使用如下 SELECT 语句:
SELECT DATEPART(yyyy,OrderDate) AS OrderYear,
DATEPART(mm,OrderDate) AS OrderMonth,
DATEPART(dd,OrderDate) AS OrderDay
FROM Orders
WHERE OrderId=1
结果:
SQLServer中是否有关于季度的函数
declare @base datetime, @beg_date, @end_date
set @base = '20000101'
set @beg_date = dateadd(QUARTER ,@qrt - 1,DATEADD(year, @year - 2000, @base))
set @end_date = dateadd(QUARTER ,@qrt ,DATEADD(year, @year - 2000, @base)) - 1
本文名称:sqlserver季度,sqlserver 星期几
链接分享:http://lswzjz.com/article/dsidjhc.html