oracle数据库的分组查询的语句怎么写

oracle数据库的分组查询的语句怎么写,第1张

看你的意思

大概这样理解

数据库表里面有编号为1和编号为2的

男女若干个

现在要分别统计

编号为1的男有多少个

女有多少个

编号为2的

男有多少个

女有多少个;如果是这样的话,首先先按编号分组

select

*

from

student

group

by

id

然后再这个基础上要分别统计男和女

可以用到oracle特有的decode函数

select

sum(decode(sex,'男',1,0))

from

student

这样就得到了男

以此类推

整个sql语句

可以这样写

select

id

编号,sum(decode(sex,'男',1,0))

男,sum(decode(sex,'女',1,0))

from

student

group

by

id

sql多条件分组查询举例:

比如有两张表:

表一:

姓名 分数

——————

李一 2

李二 1

李三 1

张一 3

张二 2

张三 2

……

表二:

——

要查询表二中的姓的数据对表一进行分组,然后将分数统计出来。

sql语句写法如下:

SELECT

b. NAME,

sum(a.score) AS 分数

FROM

tb1 a

LEFT JOIN tb2 b ON SUBSTR(a.name FROM 1 FOR 1)= b.`name`

GROUP BY

b. NAME

这个是Mysql的写法 Oracle把SubStr函数改一下就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6772268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存