你這是什么數(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
select top 10 sum(數(shù)量) as [銷量], 產(chǎn)品名
order by [銷量] group by 產(chǎn)品名
沒測(cè),試試吧。
oracle(本季度第一天+兩個(gè)月=本季度最后一個(gè)月第一天)
SELECT to_char(add_months(TRUNC(SYSDATE, 'Q'), 2), 'YYYY-MM-DD') FROM dual;
sqlserver:還是先找到當(dāng)前季度的第一天然后加兩個(gè)月
Select DATEADD(mm,2,DATEADD(qq, DATEDIFF(qq,0,getdate()), 0))
mysql:想不出來,mysql的函數(shù)很多都是關(guān)于天的,而且太久沒用,差不多都還給書本了。
其實(shí)也可以用case when來寫,首先判斷當(dāng)前時(shí)間是第幾季度,然后用case when來寫,等于1就是3.1,等于2就是6.1,以此類推,這個(gè)應(yīng)該不算很麻煩,判斷三次,就可以了。
SQL SERVER查詢時(shí)間是一年中第幾周,使用函數(shù) datepart()。
例:查詢 ‘2017-1-1’是2017年的第幾周,語句如下
select?datepart(wk,'2017-1-1')
datepart函數(shù)說明
一、函數(shù)功能:DATEPART() 函數(shù)用于返回日期/時(shí)間的單獨(dú)部分,比如年、月、日、小時(shí)、分鐘等等。
二、語法:DATEPART(datepart,date)
三、參數(shù)說明:date?參數(shù)是合法的日期表達(dá)式。datepart?參數(shù)可以是下列的值:
四、實(shí)例演示
假設(shè)我們有下面這個(gè) "Orders" 表:
我們使用如下 SELECT 語句:
SELECT?DATEPART(yyyy,OrderDate)?AS?OrderYear,
DATEPART(mm,OrderDate)?AS?OrderMonth,
DATEPART(dd,OrderDate)?AS?OrderDay
FROM?Orders
WHERE?OrderId=1
結(jié)果:
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
                網(wǎng)站欄目:sqlserver季度,sqlserver 星期幾
                
                本文網(wǎng)址:http://chinadenli.net/article42/dsidjhc.html
            
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站改版、App設(shè)計(jì)、做網(wǎng)站、域名注冊(cè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
