⑴ sql如何按年份月份統計
select
left(convert(varchar(10),[datetime],120),7)
as
月份,sum(Amount)
as
總數
from
表
where
[datetime]<='你輸入的時間條件'
group
by
left(convert(varchar(10),[datetime],120),7)
根據你的數據結果格式重新修改了下:
select
cast(datepart(year,[datetime])
as
varchar)+'年'+cast(datepart(month,[datetime])
as
varchar)+'月'
as
月份,sum(Amount)
as
總數
from
表
where
[datetime]<='你輸入的時間條件'
and
datepart(year,[datetime])=left('你輸入的時間條件',4)
group
by
cast(datepart(year,[datetime])
as
varchar)+'年'+cast(datepart(month,[datetime])
as
varchar)+'月'
⑵ sql資料庫,在下面兩個表中,如何分別統計每個部門上半年請假的次數員工號=編號,在線等
你這個很簡單,就和統計每個部門有好多人類似
select deptno,count(*) from emp group by deptno;
⑶ 關於SQL語句中半年的查詢
where month(pubdate)>= month('2007-01-01')
and
month(pubdate) <= month('2007-06-31')
⑷ sql函數計算半年後的日期
樓主好,SQL中算日期有函數,直接可以算的。使用DATEADD函數即可達到目的。如例子中你說的要存三個月,那麼獲得三個月後的日期的寫法為:dateadd(month,3,'2011-07-15')。同樣,這個函數也可以算天,小時,周,季度,年,毫秒等等,此函數是算距離一個時間多少時間後是什麼時間,參數第一個是要計算的時間類型,第二個為間隔的數量(為正即向後,為負則向前推算),第三個為計算的開始時間
⑸ 用sql一句怎麼實現月統計和年統計
這是挑戰中文理解能力么……OTL
⑹ sql函數計算半年後的日期
查詢半年內工作的員工,半年按6個月算,每個月按平均30天算,也就是當前日期減去180天;
Oracle 里的SQL如下:
⑺ 怎麼用sql語句返回近一年中每月的數據統計
SELECT date_format(crtime,'%Y-%m') as qq ,
sum(order_log.quan * mers.price) as profit,
count(orderid) as Quant
FROM order_log
left outer join mers
on order_log.tb_id = mers.tb_id
group by qq
舉例中 我是兩張表,一張表是銷售記錄order_log
另一張表是 商品價格mers
所以用了聯合查詢,如果你是同一張表就更簡單了 不用聯合查詢
⑻ sql問題統計將要到期(6個月)商品。請求達人幫忙20分
樓主沒有詳細的說明 使用的是什麼資料庫.
那我只有慢慢解釋了:
第一步,首先要把那個 字元類型的數據, 轉換為日期類型:
Oracle 使用
TO_DATE(YXQX, 'YYYYMMDD')
SQL SERVER 使用
CONVERT(datetime, YXQX, 112)
MYSQL 使用
STR_TO_DATE(YXQX, '%Y%m%d')
第二步,如何表示出半年內將要到期的商品。
也就是 這個 轉換後的日期, 要大於今天, 小於半年後
需要使用2個函數, 一個是今天, 一個是 半年後(也就是 6個月以後)
今天的函數:
Oracle 使用
SYSDATE
SQL Server 使用
GETDATE()
MySQL 使用
CURRENT_DATE()
今天+6個月的 操作
Oracle 使用
ADD_MONTHS(sysdate, 6)
SQL Server 使用
DATEADD(mm, 6, GETDATE() )
MySQL 使用
DATE_ADD( CURRENT_DATE(), INTERVAL 6 MONTH)
最後的寫法就是:
Oracle:
TO_DATE(YXQX, 'YYYYMMDD') > SYSDATE
AND TO_DATE(YXQX, 'YYYYMMDD') < ADD_MONTHS(sysdate, 6)
SQL SERVER
CONVERT(datetime, YXQX, 112) > GETDATE()
AND CONVERT(datetime, YXQX, 112) < DATEADD(mm, 6, GETDATE() )
MYSQL
STR_TO_DATE(YXQX, '%Y%m%d') > CURRENT_DATE()
AND STR_TO_DATE(YXQX, '%Y%m%d') < DATE_ADD( CURRENT_DATE(), INTERVAL 6 MONTH)
⑼ SQL如何按年份月份統計
select left(convert(varchar(10),[datetime],120),7) as 月份,sum(Amount) as 總數
from 表
where [datetime]<='你輸入的時間條件'
group by left(convert(varchar(10),[datetime],120),7)
根據你的數據結果格式重新修改了下:
select cast(datepart(year,[datetime]) as varchar)+'年'+cast(datepart(month,[datetime]) as varchar)+'月' as 月份,sum(Amount) as 總數
from 表
where [datetime]<='你輸入的時間條件' and datepart(year,[datetime])=left('你輸入的時間條件',4)
group by cast(datepart(year,[datetime]) as varchar)+'年'+cast(datepart(month,[datetime]) as varchar)+'月'
⑽ SQL 如何做季度數據統計
3.按季度分組
select to_char(exportDate,'yyyy-Q'),sum(amount) from table1 group by to_char(exportDate,'yyyy-Q')
order by to_char(exportDate,'yyyy-Q');
試試這個吧