count(case 状态='进行' then 状态 end ) as '进行的数量',
count(case 状态='延期' then 状态 end ) as '延期的数量',
count(case 状态='取消' then 状态 end ) as '取消的数量',
count(case 状态='完成' then 状态 end ) as '完成的数量'
from 表格名 group by 用户
场景:
该表树状结构,第一层级得id是第二层级的head。
我想把河南下的所有银行都查出来
一开始用的是union
后来查了查有现成的语法,
完整语法:
搜索结果用lpad()函数和伪列level结合起来更能表现出层级效果哦
1、创建测试表,
createtabletest_score(namevarchar2(20),scorenumber)
2、插入测试数据
insertintotest_scorevalues('张三',85)
insertintotest_scorevalues('李四',90)
insertintotest_scorevalues('王二',95)
insertintotest_scorevalues('吴七',83)
insertintotest_scorevalues('李六',66)
commit
3、查询表中全量数据,selectt.*,rowidfromtest_scoret
4、编写sql,根据学生姓名,查询学生名词,以学生‘李四’为例,成绩排名第二; selectt.*from(selectt.*,rank()over(orderbyscoredesc)rkfromtest_scoret)twheret.name='李四'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)