gpt4 book ai didi

sql - 如何在 SQL 中进行列式和行式操作

转载 作者:行者123 更新时间:2023-12-04 21:58:07 24 4
gpt4 key购买 nike

我对 SQL 查询中的行式和列式操作有疑问。我将使用以下示例数据表来演示我的问题:

Person           Income      Hours worked   Day
A 100 10 1
A 200 9 2
B 300 8 1
B 400 7 2
C 500 6 1
C 600 5 2

我想编写一个查询,从中获取 (A + B) 和 C 的总收入、工作小时数和每小时收入。即:

Person           Income      Hours worked   Income / Hour
A + B 1000 34 1000 / 34
C 1100 11 1100 / 11

我如何在 SQL 中执行此操作?

非常感谢!

最佳答案

您可以在子查询中使用 UNION ALL

SELECT Person, Income, [Hours worked], [Income / Hour]    
FROM (
SELECT 'A + B' AS Person,
SUM(Income) AS Income,
SUM([Hours worked]) AS [Hours worked],
SUM([Day]) AS [Hours worked]
FROM dbo.TableName
WHERE Person IN('A', 'B')

UNION ALL

SELECT 'C' AS Person,
SUM(Income) AS Income,
SUM([Hours worked]) AS [Hours worked],
SUM([Day]) AS [Hours worked]
FROM dbo.TableName
WHERE Person = 'C'
) x

如果你想排序,你可以在外部查询上应用 ORDER BY

关于sql - 如何在 SQL 中进行列式和行式操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940633/

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