新聞中心
現(xiàn)有SQL如下,查詢結(jié)果如下圖
你這是什么數(shù)據(jù)庫,以oracle或sqlserver為例給你改了下,你看看,其他數(shù)據(jù)庫的話另外說明
創(chuàng)新互聯(lián)公司2013年至今,先為新華等服務(wù)建站,新華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為新華企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
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個產(chǎn)品 格式按下面的圖片
select top 10 sum(數(shù)量) as [銷量], 產(chǎn)品名
order by [銷量] group by 產(chǎn)品名
沒測,試試吧。
sql 如何取當(dāng)季最后一個月的第一天
oracle(本季度第一天+兩個月=本季度最后一個月第一天)
SELECT to_char(add_months(TRUNC(SYSDATE, 'Q'), 2), 'YYYY-MM-DD') FROM dual;
sqlserver:還是先找到當(dāng)前季度的第一天然后加兩個月
Select DATEADD(mm,2,DATEADD(qq, DATEDIFF(qq,0,getdate()), 0))
mysql:想不出來,mysql的函數(shù)很多都是關(guān)于天的,而且太久沒用,差不多都還給書本了。
其實(shí)也可以用case when來寫,首先判斷當(dāng)前時間是第幾季度,然后用case when來寫,等于1就是3.1,等于2就是6.1,以此類推,這個應(yīng)該不算很麻煩,判斷三次,就可以了。
SQL SERVER查詢時間是一年中第幾周的函數(shù)
SQL SERVER查詢時間是一年中第幾周,使用函數(shù) datepart()。
例:查詢 ‘2017-1-1’是2017年的第幾周,語句如下
select?datepart(wk,'2017-1-1')
datepart函數(shù)說明
一、函數(shù)功能:DATEPART() 函數(shù)用于返回日期/時間的單獨(dú)部分,比如年、月、日、小時、分鐘等等。
二、語法:DATEPART(datepart,date)
三、參數(shù)說明:date?參數(shù)是合法的日期表達(dá)式。datepart?參數(shù)可以是下列的值:
四、實(shí)例演示
假設(shè)我們有下面這個 "Orders" 表:
我們使用如下 SELECT 語句:
SELECT?DATEPART(yyyy,OrderDate)?AS?OrderYear,
DATEPART(mm,OrderDate)?AS?OrderMonth,
DATEPART(dd,OrderDate)?AS?OrderDay
FROM?Orders
WHERE?OrderId=1
結(jié)果:
SQLServer中是否有關(guān)于季度的函數(shù)
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
當(dāng)前標(biāo)題:sqlserver季度,sqlserver 星期幾
網(wǎng)址分享:http://www.ef60e0e.cn/article/dsidjhc.html