Ⅰ 求高手幫寫一sql語句 按月統計的
統計每個id每個月的訪問次數。
SELECT
userid,
SUBSTRING(accessTime,
1,
6)
AS
Expr2,
COUNT(*)
AS
Expr1
FROM
TableA
GROUP
BY
userid,
SUBSTRING(accessTime,
1,
6)
此語句查詢結果:
1000001
201001
2
1000003
201002
2
1000001
201003
1
1000002
201003
1
------------------
你的知查詢和我道的一樣。你想要accessTime,這是不可能的,因為SQL語句中使用了group
by子句,那內么select的欄位只能在group
by的字句里。
你要清楚,你現在做的是統計,不是查明細。如果容查明細的話,再寫一條語句好了。
Ⅱ sql 語句怎麼寫根據選擇的年份統計出該年下每個月的訂單總數
這是一些統計每天、每月、每年的銷售總額的查詢語句,給你參考:
1、每年
select year(ordertime) 年,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime)
2、每月
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime
3、每日
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime),
day(ordertime)
另外每日也可以這樣:
select convert(char(8),ordertime,112) dt,
sum(Total) 銷售合計
from 訂單表
group by convert(char(8),ordertime,112)
如果需要增加查詢條件,在from後加where 即可。
Ⅲ sql題 如何統計查詢一個月中每天的記錄
1、查詢當天的所有數據
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。
它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。
Ⅳ 如何用SQL語句查詢出業務員每個月的業績和總計
IFOBJECT_ID('saleinfo')ISNOTNULLDROPTABLEsaleinfo
--創建模擬表
createtablesaleinfo(
idintidentity(1,1)primarykey,
salesmannvarchar(50)null,
salemonthnvarchar(50)null,
achievementint
)
--載入模擬數據
insertintosaleinfo(salesman,salemonth,achievement)values('A','1月5日',10)
insertintosaleinfo(salesman,salemonth,achievement)values('A','1月7日',20)
insertintosaleinfo(salesman,salemonth,achievement)values('A','2月4日',30)
insertintosaleinfo(salesman,salemonth,achievement)values('A','2月7日',40)
insertintosaleinfo(salesman,salemonth,achievement)values('A','3月2日',50)
insertintosaleinfo(salesman,salemonth,achievement)values('A','3月9日',60)
insertintosaleinfo(salesman,salemonth,achievement)values('B','1月5日',70)
insertintosaleinfo(salesman,salemonth,achievement)values('B','1月7日',80)
insertintosaleinfo(salesman,salemonth,achievement)values('B','2月4日',90)
insertintosaleinfo(salesman,salemonth,achievement)values('B','2月7日',10)
insertintosaleinfo(salesman,salemonth,achievement)values('B','3月2日',20)
insertintosaleinfo(salesman,salemonth,achievement)values('B','3月9日',30)
insertintosaleinfo(salesman,salemonth,achievement)values('C','1月5日',40)
insertintosaleinfo(salesman,salemonth,achievement)values('C','1月7日',50)
insertintosaleinfo(salesman,salemonth,achievement)values('C','2月4日',60)
insertintosaleinfo(salesman,salemonth,achievement)values('C','2月7日',70)
insertintosaleinfo(salesman,salemonth,achievement)values('C','3月2日',80)
insertintosaleinfo(salesman,salemonth,achievement)values('C','3月9日',90)
--顯示數據
selectsalesmanas業務員,salemonthas月份,achievementas業績fromsaleinfo
declare@sqlvarchar(8000)
set@sql='selectsalesmanas業務員'
select@sql=@sql+',sum(caseleft(salemonth,2)when'''+left(salemonth,2)+'''thenachievementelse0end)['+left(salemonth,2)+']'
from(selectdistinctleft(salemonth,2)assalemonthfromsaleinfo)asa
set@sql=@sql+',sum(achievement)as業績fromsaleinfogroupbysalesman'
exec(@sql)
Ⅳ SQL查詢 - 如何一次查詢得出十二個月中每個月的銷售額
select convert(varchar(7), 日期, 120) as 年月, sum(銷售額) from 表 group by convert(varchar(7), 日期, 120) order by 年月 asc 銷售額是表中的列,日期是表中銷售日期 額,,SQLite 倒是不清楚語法,不過你可以根據這個思想去改寫,就先把時間變成比如2008-05(年-月格式)這樣,然後先分組,最後統計每個組相應列總和就是需要的結果。 select strftime("%Y-%m", 日期) , strftime("%W", 日期) , sum(銷售額) from 表 where [你某個客戶的查詢條件] group by strftime("%Y-%m", 日期), strftime("%W", 日期)不只知道有沒語法錯誤,先按年月分組,然後%W是獲得這個日期是今年第幾周,這樣相同周的就會全部分一組了。
Ⅵ SQL 查詢每個月統計的數據。
select 月份,sum(isnull(count,0)) from A group by 月份
你是不是整個月沒數據的就自動要補一條記錄為0的
我想了一下,簡單的這樣寫,都不可能出現補零的數據,畢竟這個月份的數據並沒有出現在表中。
看實際情況,必要時候使用union
既然知道只有兩個月的,那就補上
select * from
(
select 月份,sum(isnull(count,0)) from A group by 月份
union all
select '2012-02',0
union all
select '2013-05',0
) a
order by 月份
不過話說你是不是年份弄錯了,從2012直接跳到2013?
我這個方法還搞不定嗎?
Ⅶ sql怎麼統計今年每個月的數據條數
在SQL
Server中,假定表名為tname,表中有個表示記錄產生日期的欄位為cdate,則可以寫成:
SELECT
DATEPART(month,
slsj)
AS
[month],
COUNT(1)
AS
[number]
FROM
tname
WHERE
(DATEPART(year,
cdate)
=
DATEPART(year,
GETDATE())
)
GROUP
BY
DATEPART(month,
cdate)
Ⅷ mysql 統計每月的數量 sql
數據表中不存在的月份也要顯示,建議創建一個從1到12月份的表作為比對表。如果不方便創建月份比對表則可以用select 1到12的辦法來虛擬這個月份比對表,但是語句會有些冗長。請參考下列寫法:
selectmonths.year,months.month,
concat(ifnull(t.sumMonthNum,'0'),
'/',months.sumYearNum)as`月/年比`
from
(select*from
(selectyear(time)asyear,
sum(num)assumYearNum
fromabcgroupbyyear(time))years,
(select1asmonthunionall
select2unionall
select3unionall
select4unionall
select5unionall
select6unionall
select7unionall
select8unionall
select9unionall
select10unionall
select11unionall
select12)months)monthsleftjoin
(selectyear(time)asyear,
month(time)asmonth,
sum(num)assumMonthNum
fromabcgroupbyyear(time),month(time))t
onmonths.month=t.month
orderbymonths.year,months.month;
實驗截圖如下:
源表數據
Ⅸ sql 查詢一個月里的數據
SQL中查詢一個月里的數據,舉例及解決方法如下:
1、假如要查詢表t1欄位mydate為2015-10-1至2015-10-31之間的所有數據。
2、可以使用以下查詢語句:
SELECT*FROMt1WHEREmydateBETWEEN'2015-10-01'and'2015-10-31';
Ⅹ sql 查詢每個月的記錄數量
SELECT LEFT(CONVERT(VARCHAR(10), [入庫時間], 120), 7) AS [月份], COUNT(*) AS [數量]
FROM [表名]
GROUP BY LEFT(CONVERT(VARCHAR(10), [入庫時間], 120), 7)