SQL統計數量,sql語句統計數量,統計一個欄位的值的數量

時間 2022-02-15 20:55:04

1樓:

--表a和表b分開來統計,最後合併兩個統計結果

時間在一個範圍內用 時間a between '時間1' and '時間2'

由於不是很明白你的分組統計原則,所以group by語句暫時無法提供建議

2樓:匿名使用者

肯定是一樣的,因為count(欄位)不是說這個欄位又多少個,而是記錄的條數,即行數,他和count(*)效果是一樣的。究竟count(*)等於多少,取決於你的記錄條數多少,也就是where條件和group by。

要實現你的功能,需要用子查詢。

select a.id,ca.acount 數量1,cb.

acount 數量2 from a,(select id,count(*) acount from a group by id) ca,(select id,count(*) acount from b group by id) cb where a.id=ca.id and a.

id=cb.id

看看是不是這個效果?剩下的我就不給你加了,往上搭積木就行了

3樓:庹琅塗承安

select

學號,count(1)

as學生選課數

from

學生選課表

group

by學號

一張表足以,根本不需要學生表,除非要顯示學生姓名。

count函式是計算按照學號分組之後的行數,也就是一行是選了一門。

放到一張表裡,如果是建好的表,那麼

insert

into

表select

學號,count(1)

as學生選課數

from

學生選課表

group

by學號

sql語句統計數量,統計一個欄位的值的數量

4樓:匿名使用者

select type,count(1) from table group by type

union all

select level,count(1) from table group by level

sql語句統計數量 統計一個欄位出現的數量

5樓:匿名使用者

1、建立測試表,62616964757a686964616fe78988e69d8331333431373863

create table test_stu(id number,  u_name varchar2(20), subject varchar2(20));

create table test_subj(id number,  subject varchar2(20));

2、插入測試資料

insert into test_stu values(1,'張三','英語');

insert into test_stu values(2,'李四','德語');

insert into test_stu values(3,'王五','日語');

insert into test_stu values(4,'小明','英語');

insert into test_stu values(5,'小狗','法語');

insert into test_subj values(1,'英語');

insert into test_subj values(2,'德語');

insert into test_subj values(3,'日語');

insert into test_subj values(4,'法語');

3、查詢表中所有記錄數,select t.*, rowid from test_subj t,

4、編寫sql,統計test_subj總記錄數,及每個科目選修學生數;

select count(distinct t.id) as "小計",

count(case when subject='英語' then 1 end) as "英語",

count(case when subject='德語' then 1 end) as "德語",

count(case when subject='日語' then 1 end) as "日語"

from (select t.*

from test_subj t, test_stu b

where t.subject = b.subject) t

6樓:匿名使用者

sqlserver為例

建立表及插入資料

create table 姓名錶

(id int,

u_name varchar(10),

subject varchar(10))

create table 科目表

(id int,

s_name varchar(10))

insert into 姓名錶 values (1,'張三','英語

62616964757a686964616fe59b9ee7ad9431333337373562')

insert into 姓名錶 values (2,'李四','德語')

insert into 姓名錶 values (3,'王五','日語')

insert into 姓名錶 values (4,'小明','英語')

insert into 姓名錶 values (5,'小狗','法語')

insert into 科目表 values (1,'英語')

insert into 科目表 values(2,'德語')

insert into 科目表 values(3,'日語')

insert into 科目表 values(4,'法語')

然後需要建立一個檢視

create view v_subject

asselect a.s_name,sum(case when a.s_name=b.subject then 1 else 0 end) counts

from 科目表 a left join 姓名錶 b on a.s_name=b.subject

group by a.s_name

執行語句

declare @sql varchar(4000)

set @sql = 'select sum(counts) as 合計'

select @sql = @sql + ',sum(isnull(case [s_name] when '''+[s_name]+''' then [counts] end,0)) as

['+[s_name]+']'

from (select distinct [s_name] from v_subject) as a

select @sql = @sql+' from [v_subject]'

exec (@sql)

結果截圖

你結果裡為什麼會少呢?

這個主要是動態顯示才這麼複雜,比如你在科目表裡再加個阿拉伯語,用這個也沒問題,否則用case when的寫法會比較有侷限性

7樓:2一瞬間

select subject,count(subject) from 姓名錶 group by subject order by id

sql語句取總數量的語句是什麼?

8樓:我tm不管

select count(*) from table

9樓:匿名使用者

select count(a) from b

10樓:__神說

select count(欄位名) from 表名

11樓:匿名使用者

select count(id) from a 這條sql絕對可以,而且效率也高,

sql 統計人數

12樓:我tm不管

select subject,count(*) cnt from student where subject in ('英語','政治','數學','計算機','c語言程式設計') group by subject

13樓:匿名使用者

select (select count(*) from student where subject ='英語' ) as 英語人數,(select count(*) from student where subject ='政治') as 政治人數,(select count(*) from student where subject ='數學')as 數學人數,(select count(*) from student where subject ='計算機')as 計算機人數,(select count(*) from student where subject ='c預言程式設計')as c預言程式設計

sql,統計問題,統計某欄位總數和符合某條件的數量

14樓:浙江衛健科技****

select 名稱

,count(*) as 總數量

,count(case when 型別='a' then 型別 else null end) as 型別為a的數

from 表名

group by 名稱

sql語句查詢,並統計查詢結果數量 30

15樓:sky不用太多

可以通過count函式來實現。

sqlone:select  *  from  tablename1 where id>5;此語句查詢出來多條記錄,之後看做一個新的表。

sqltwo:select conut(*) from (select  *  from  tablename1 where id>5)  as tablename2;此語句即可查詢出來統計的記錄條數。

備註:以上方法通用於所有的資料統計,如果是單表查詢,可以直接通過:「select count( *)  from  tablename1 where id>5"的形式查詢出結果。

結構化查詢語言(structured query language)簡稱sql(發音:/ˈes kjuː ˈel/ "s-q-l"),是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;同時也是資料庫指令碼檔案的副檔名。

結構化查詢語言是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者瞭解具體的資料存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為資料輸入與管理的介面。結構化查詢語言語句可以巢狀,這使它具有極大的靈活性和強大的功能。

2023年10月,美國國家標準協會對sql進行規範後,以此作為關係式資料庫管理系統的標準語言(ansi x3. 135-1986),2023年得到國際標準組織的支援下成為國際標準。不過各種通行的資料庫系統在其實踐過程中都對sql規範作了某些編改和擴充。

所以,實際上不同資料庫系統之間的sql不能完全相互通用。

sql語句統計數量,統計欄位的值的數量

我tm不管 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 ...

sql server一對多統計數量

資料我這裡叫a,b,c了,跟你表1,2,3是對應的 create table a uid int,name varchar 10 insert into a values 1,張一 insert into a values 2,張二 create table b uid int,type1 varc...

分類統計相關的sql語句怎麼寫,sql 分類彙總查詢語句

維也納的孩童戶 以下語句可用於ms sql server。select count 1 as 數量,c.使用者組名稱 from 檔案表 a inner join 使用者表 b on a.釋出人 b.使用者名稱 inner join 使用者組表 c on b.使用者組id c.id group by ...