oracle表中有类型 科室 医生 数量 正负字段,正负字段值为正和负,请按正负条件 按类型 科室 医生 分组统计 数量列的sum值
时间: 2023-05-30 20:02:05 浏览: 55
SELECT 类型, 科室, 医生,
SUM(CASE WHEN 正负字段 = '正' THEN 数量 ELSE 0 END) AS 正数量,
SUM(CASE WHEN 正负字段 = '负' THEN 数量 ELSE 0 END) AS 负数量
FROM oracle表
GROUP BY 类型, 科室, 医生;
相关问题
oracle按字段值统计数量
可以使用Oracle的聚合函数COUNT()和GROUP BY子句来按字段值统计数量。例如,假设有一个名为employee的表,其中有一个名为department的字段,你可以使用以下查询来按部门统计员工数量:
```
SELECT department, COUNT(*) as employee_count
FROM employee
GROUP BY department;
```
这将返回一个包含每个部门名称和该部门员工数量的结果集。COUNT()函数用于计算每个分组中的行数,而GROUP BY子句用于指定按哪个字段进行分组。
oracle按不同条件分组统计数量
Oracle可以使用GROUP BY子句来按照不同的条件进行分组统计数量。GROUP BY子句通常与聚合函数(如COUNT)一起使用,用于对指定的列进行分组并计算每组的数量。
例如,假设有一个名为"orders"的表,该表包含了顾客的订单信息,包括订单号、顾客ID、订单金额等字段。我们可以使用以下语句按顾客ID进行分组,并统计每个顾客的订单数量:
SELECT customer_id, COUNT(order_id) as order_count
FROM orders
GROUP BY customer_id;
这个查询将返回每个顾客的ID和他们的订单数量。使用COUNT函数对订单ID进行计数,并通过GROUP BY子句按顾客ID进行分组。
如果我们想要按不同的条件进行分组统计数量,可以在GROUP BY子句中指定多个列。例如,如果我们想要按照地区和产品类型统计订单数量,可以使用以下查询:
SELECT region, product_type, COUNT(order_id) as order_count
FROM orders
GROUP BY region, product_type;
这个查询将返回每个地区和产品类型的订单数量。使用COUNT函数对订单ID进行计数,并通过GROUP BY子句按地区和产品类型进行分组。
总之,Oracle可以使用GROUP BY子句按不同的条件分组统计数量。我们可以通过指定需要分组的列,并结合聚合函数来实现这一功能。