sql语句统计数量 统计一个字段出现的数量

1 、创建测试表,createtabletest_stu(idnumber, u_namevarchar2 (2 0),subjectvarchar2 (2 0)); createtabletest_subj(idnumber, subjectvarchar2 (2 0)); 2 、插入测试数据 insertintotest_stuvalues(1 ,'张三','英语');insertintotest_stu values(2 ,'李思','德语');insertintotest_stuvalues(3 ,'王五','日语');insertintotest_stuvalues(4 ,'小明','语言English');insertintotest_stuvalues(5 ,'puppy','法语');insertintotest_subjvalues(1 ,'英语');insertintotest_subjvalues(2 ,'德语');insertintotest_subjvalues(3 ,'日语');insertintotest_subjvalues(4 .3 法语(4 .3 法语)。
查询表,selectt.*,rowidfromtest_subjt,写入4 .sql统计test_subj总记录及各科目选修学生人数; selectcount(distinctt.id) as "subtotal", count(c asewhensubject='English'then1 end)as"English", count(casewhensubject='German'then1 end)as"German", count(casewhensubject=' Japanese'then1 end)as"日本语" from(selectt_subjt.* fromtest_subjt.* fromtest_subjt.* fromtest_subjt.* fromtest_subjt.* fromtest_subjt.* wheret.subject=b.subject)t

oracle的sql根据a分组统计b的数量怎么写

答案:可以使用“GROUPBY”子句按“a”进行分组,并使用聚合函数“COUNT”来统计“b”的数量。
示例代码如下: ```sqlSELECTa,COUNT(b)FROMyour_tableGROUPBYa;``说明: 1 .`SELECTa,COUNT(b)`:选择要显示的列。
这里,选择列“a”,并通过“COUNT(b)”计算列“b”的数量。
2 .`FROMyour_table`:指定要查询的表。
3 .`GROUPBYa`:按列`a`分组;然后具有相同“a”值的数据将被分组在一起。
通过上面的描述,我们可以按“a”进行分组,并统计每组中“b”的数量。
实际使用时,需要将`your_table`替换为实际的表名。
如果还有其他条件约束,比如统计大于某个值的数字。
条件可以包含在“WHERE”子句中。
例如,要对数字大于 5 的组进行计数:````sqlSELECTa,COUNT(b)FROMyour_tableWHERECOUNT(b)>5 GROUPBYa;```