gpt4 book ai didi

mysql - 如何显示员工详细信息以及所有员工的总和(sal)?

转载 作者:行者123 更新时间:2023-12-01 00:19:05 24 4
gpt4 key购买 nike

是否可以使用 SQL 显示员工详细信息,如下所示?

Emp_id, Emp_name, Emp_Sal, Sum(Emp_Sal)

注意:这里的Sum(Emp_Sal)是所有员工的总和。

最佳答案

Arulkumar 使用标量子查询提供了正确的解决方案。

下面的解决方案使用了一个解析函数。注意 windowing 子句:它是空的,因为我们想要一个单独的组(所有员工),所以没有“partition by”,我们想添加所有行,所以没有“order by”(默认情况下意味着所有行都被排序为“相等”,我们得到所有行的总和)。

优点是您只需遍历基表一次。在“标量子查询”方法中,表被读取两次。在这个简单的例子中它可能无关紧要,但在生产中可能很重要,因为表非常大。

    select empno, msal, sum(msal) over () as total_sal from employees;



EMPNO MSAL TOTAL_SAL
---------- ---------- ----------
7369 800 28875
7499 1600 28875
7521 1250 28875
7566 2975 28875
7654 1250 28875
7698 2850 28875
7782 2450 28875
7788 3000 28875
7839 5000 28875
7844 1500 28875
7876 1100 28875
7900 800 28875
7902 3000 28875
7934 1300 28875

关于mysql - 如何显示员工详细信息以及所有员工的总和(sal)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38396888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com