工作中遇到的SQL,請問如何寫呢?

時間 2021-09-09 00:57:07

1樓:旭日東昇

select to_char(shdate,'yyyymmdd') as date,

sum(if(DATEPART(hh,shdate)>=20,1,0) as count_id,

sum(if(DATEPART(hh,shdate)>=20,cjje,0) as sum_cjje

from

where shdate>=to_date(20200601,'yyyymmdd')

and shdate<=to_date(20200610,'yyyymmdd')

group by to_char(shdate,'yyyymmdd')

表名,表字段中文別名,以及日期時間函式根據使用的資料庫調整一下就好。

查詢條件可以進一步通用化:

where to_char(shdate,'yyyymm')=to_char(getdate(),'yyyymm')

and DATEPART(dd,shdate)<=10

*條件為當月前十天*

2樓:夜雨聲輕

不知道你用的什麼資料庫,一般date型別只有年月日沒有時分秒,所以條件裡的晚8點以後用date型別篩選不出來,我就假定是datetime型別了

查詢條件很簡單,注意篩選時間時要加上年份判斷,不然會把每年的當月資料都取出來,另外計算顧客人數時需不需要考慮去重,這要看業務需求了,我這裡就不去重了

沒注意是部分顧客的全部消費額,這裡先把符合時間條件的人篩選出來,再用子查詢把這些人當天的消費額計算出來

SELECT DATE_FORMAT(shdate,'%Y%m%d') date,concat(count(1),"人") customer_num,concat(

(SELECT sum(b.cjje) FROM 表名 b WHERE a.id=b.

id AND DATE_FORMAT(a.shdate, '%Y%m%d')=DATE_FORMAT(b.shdate, '%Y%m%d')),"元") total_money

FROM 表名 a

WHERE year(shdate)=year(now())

AND month(shdate)=month(now())

AND day(shdate)

BETWEEN 1

AND 10

AND hour(shdate)>=20

GROUP BY 1

ORDER BY 1

如果工作中遇到瓶頸,應該如何克服呢?

崔文彬 瓶頸期是乙個任何人都會遇到的常態,只不過面對它的態度能區分出你是常人還是強人。它本質是的面對困難的阻礙,阻礙有兩點,一是外力阻礙,比如你以前用的做事方法,現在沒那麼奏效了,你需要迭代技術 二是內力阻礙,你的思維和認知水平停在了現在,你需要迭代認知。只不過很多人在面對瓶頸的時候沒有選擇迭代,而...

如何避免工作中遇到的焦慮?

題主其實已經自己說了,好勝心 在意別人看法 這兩點,其實就是造成焦慮的源頭哦。怕做的不出色或遜於他人,怕人家對自己有負面的議論評價。從這兩方面下手就好了 好勝心 衡量一下這種追求超越他人,勝過他人,能出風頭的時候,除了快感能帶來什麼實際的收穫?再看看這些收穫給到自己的是成長還是阻礙?自己在某些工作上...

工作中遇到心眼多的同事如何相處

我就是看看 我們還要奇葩,乙個沒有能力只有一些上不了檯面下作手段的私生活混亂,人品差到爆,什麼都不懂的人再加上乙個剛進來2個月,啥都不知道,也沒有做過管理的架子搭的比董事長還要大的人,作為公司最重要的一線部門的負責人,然後,大家都在看戲,看著他們部門的核心人員離職,他們亂成一鍋粥,我們只有搖頭嘆息 ...