⑴ sql 查詢怎麼統計多個欄位各自的個數
--所有算的地方都用cast(個數asint)
createtabletest05
(avarchar(10),
bvarchar(10),
cvarchar(10))
insertintotest05select'#','一','三'unionall
select'@','一','三'unionall
select'¥','一','二'unionall
select'%','二','二'
select*fromtest05
selectb,COUNT(b)個數fromtest05groupbyb
selectc,COUNT(c)個數fromtest05groupbyc
selectSUM(isnull(t1.個數,0)+isnull(t2.個數,0))總數,sum(isnull(t1.個數,0))個數,t1.b,sum(isnull(t2.個數,0))個數,t2.cfrom
(selectb,COUNT(b)個數fromtest05groupbyb)ast1fulljoin
(selectc,COUNT(c)個數fromtest05groupbyc)ast2ont1.b=t2.c
groupbyt1.b,t2.c
⑵ sql 怎麼判斷統計一個欄位里有多少條數據呢
直接用 select count(欄位名) from [表名]
⑶ sql如何進行多個欄位的統計個數
一種查詢SQL如下, 利用union獲得b和c各自的統計結果, 然後再一次統計整合到最終結果:
selectsum(d.b_cnt)+sum(d.c_cnt)astotal_cnt,sum(d.b_cnt)asb_cnt,casewhensum(d.b_cnt)=0then''elsed.valendasb_label,sum(d.c_cnt)asc_cnt,casewhensum(d.c_cnt)=0then''elsed.valendasc_labelfrom(selectbasval,count(b)asb_cnt,0asc_,0,count(c)asc_cntfromAgroupbyc)dgroupbyd.valSQLSerer上的測試結果(欄位次序有變化),
total_cnt為總數, b_label為b欄值, b_cnt為b欄個數, c_labe為c欄值, c_cnt為c欄個數.
這個結果跟欄位是否為整型無關, 它是統計記錄出現的次數.
⑷ SQL 統計數量
--表A和表B分開來統計,最後合並兩個統計結果
時間在一個范圍內用 時間A between '時間1' and '時間2'
由於不是很明白你的分組統計原則,所以group by語句暫時無法提供建議
⑸ sql count 某個欄位的個數
select 名稱,count(名稱) 個數 from table_name group by 名稱
⑹ sql語句統計數量 統計一個欄位出現的數量
1、創建測試表,
create table test_stu(id number, u_name varchar2(20), subject varchar2(20));
create table test_subj(id number, subject varchar2(20));
⑺ sql統計多個欄位值數量
分兩步實現
按月匯總
行列轉換
請試一下,如有疑問,及時溝通!
----生成相應的技巧性文章
createtable#maomao365
(
[姓名]nvarchar(30),
[班級]nvarchar(20),
[分數]int,
[考試時間]date
)
go
insertinto#maomao365(
[姓名],[班級],
[分數],[考試時間]
)values
('張三','一班',89,'2019-1-1'),
('李四','二班',100,'2019-1-1'),
('王二','三班',60,'2019-1-1'),
('馬子','四班',70,'2019-1-1'),
('maomao','一班',89,'2019-1-1'),
('小屋','二班',15,'2019-2-1'),
('sql','三班',69,'2019-2-1'),
('教程','四班',72,'2019-2-1'),
('宇宙','一班',63,'2019-3-1'),
('周貓貓','一班',50,'2019-4-1'),
('宙斯盾','二班',23,'2019-5-1'),
('潛水艇','三班',21,'2019-6-1'),
('其它','四班',20,'2019-7-1')
go
/*拼接字元串*/
declare@sqlvarchar(max)
set@sql='select*from
(select[班級],
[分數],month([考試時間])asmonthfrom#maomao365)asd
pivot(sum([分數])for[month]
in(
';/*動態組合列名*/
declare@lieMingvarchar(7000)---定義動態生成列名存放變數
declare@iint,@imaxint,@fieldvarchar(60)---定義臨時循環變數
declare@fieldListtable(keyIdintidentity,fieldvarchar(60))---定義臨時表,存放待生成動態列名的數據
insertinto@fieldList(field)selectdistinctmonth([考試時間])from#maomao365---生成列名數據
-------------循環表生成列名start--------------
set@lieMing=''
set@i=1
select@imax=max(keyId)from@fieldListt
while@i<@imax
begin
select@[email protected]=@i
ifisnull(@field,'')!=''
begin
if@lieMing!=''beginset@lieMing=@lieMing+','end
set@lieMing=@lieMing+'['+@field+']';
end
set@i=@i+1
end
-------------循環表生成列名end--------------
/*動態組合列*/
set@sql=@sql+@lieMing+'))t;';---拼接sql語句
print(@sql)
exec(@sql)
go
truncatetable#maomao365
droptable#maomao365
go
⑻ sql語句統計數量,統計一個欄位的值的數量
select type,count(*) as 總數量,
sum(case when level='一級' then 1 else 0 end) as 一級,
sum(case when level='二級' then 1 else 0 end) as 二級,
sum(case when level='三級' then 1 else 0 end) as 三級
from table group by type
樓上的應該改改吧
⑼ mysql一條sql怎麼統計某個欄位不同值的個數
以時間為跨度統計不同的值,在該時間出現的次數。
⑽ sql中如何統計一欄位中字元串的個數
declare @s varchar(100)
set @s='156434A27kAsdABCiosd-01&**('
--找出現的次數
select len(@s)-len(replace(@s,'A',''))
SQL中字元串截取函數(SUBSTRING)
1、left(name,4)截取左邊的4個字元
列:
SELECT LEFT(201809,4) 年
結果:2018
2、right(name,2)截取右邊的2個字元
SELECT RIGHT(201809,2) 月份
結果:09
(10)sql統計欄位數擴展閱讀
sql中group by用法:
GROUP BY可以先從字面上來理解,GROUP表示分組,BY後面寫欄位名,就表示根據哪個欄位進行分組,如果有用Excel比較多的話,GROUP BY比較類似Excel裡面的透視表。
GROUP BY必須得配合聚合函數來用,分組之後可以計數(COUNT),求和(SUM),求平均數(AVG)等。
常用聚合函數:count()計數、sum()求和、avg()平均數、max()最大值、min()最小值。
SELECT 語句指定了兩列(Customer 和 SUM(OrderPrice))。"SUM(OrderPrice)" 返回一個單獨的值("OrderPrice" 列的總計),而 "Customer" 返回 6 個值(每個值對應 "Orders" 表中的每一行)。因此,我們得不到正確的結果。不過,您已經看到了,GROUP BY 語句解決了這個問題。