gpt4 book ai didi

sql - 结束于 where 子句

转载 作者:行者123 更新时间:2023-11-29 14:37:11 25 4
gpt4 key购买 nike

我想使用 over() 得到这样的结果:

Id | Name | Salary | Average |
1 | User1| 1000 | 2000 |

我目前正在使用这个:

WITH users AS (
SELECT us_id, us_name, us_salary, avg(us_salary) over()
FROM t_user_us
)
SELECT *
FROM users
WHERE us_name = 'User 1';

有没有可能以更简单的方式做到这一点?

语句:

CREATE TABLE T_USER_US (
US_id SERIAL PRIMARY KEY,
US_name VARCHAR(40) NOT NULL,
US_salary INTEGER NOT NULL
);
INSERT INTO T_USER_US ("us_name","us_salary")
VALUES ('User 1',1000), ('User 2',2000), ('User 3',3000);

最佳答案

另一种选择是既不使用窗口函数也不使用公用表表达式:

SELECT us_id, 
us_name,
us_salary,
(select avg(us_salary) from t_user_us) as avg_salary
FROM t_user_us
WHERE us_name = 'User 1';

关于sql - 结束于 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42575308/

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