假设我们有一个Emp包含EmpId, Manager, Subb三列的表.
Manager是EmpId经理时为1 ,同样为subb.
需要表中的manager和subb的数量.
我们可以将这两个查询合并到一个SELECT查询中吗?(想要扫描一次表)
select count(*) as ManagerNumber from Emp where Manager=1
select count(*) as Subordinate from Emp where Subb=1.
Run Code Online (Sandbox Code Playgroud)
Mah*_*mal 10
你可以这样做:
SELECT
SUM(CASE WHEN Manager = 1 THEN 1 ELSE 0 END) AS ManagerNumber,
SUM(CASE WHEN subb = 1 THEN 1 ELSE 0 END) AS Subordinate
FROM Emp
Run Code Online (Sandbox Code Playgroud)
它是SQL ANSI标准,它将适用于所有RDBMS.
| 归档时间: |
|
| 查看次数: |
6094 次 |
| 最近记录: |