gpt4 book ai didi

SQL 计算基于字段类型和分组类型

转载 作者:行者123 更新时间:2023-12-04 23:46:50 25 4
gpt4 key购买 nike

数据库包括 FamID、TicketType 和 Amt我想计算每个家庭的每种机票类型的总金额,并根据所有机票类型的总金额按家庭从高到低排序。

数据库值是:

FamID           TicketType             Amt
1 1 10
1 1 10
1 2 20
1 3 30
2 2 20
2 1 10
2 1 10
2 1 10
2 3 30
3 3 30
3 3 30
3 3 30

想要的结果是

Family         Type 1         Type 2        Type 3         Total
3 0 0 90 90
2 30 20 30 80
1 20 20 30 70

我是不是想做的太多了?

最佳答案

您从未指定您的 RDBMS,但以下数据透视查询只需稍作修改即可适用于大多数主要数据库:

SELECT t.`Type 1`, t.`Type 2`, t.`Type 3`,
(t.`Type 1` + t.`Type 2` + 2*t.`Type 3`) AS Total
FROM
(
SELECT FamID AS Family,
SUM(CASE WHEN TicketType = 1 THEN Amt ELSE 0 END) AS `Type 1`,
SUM(CASE WHEN TicketType = 2 THEN Amt ELSE 0 END) AS `Type 2`,
SUM(CASE WHEN TicketType = 3 THEN Amt ELSE 0 END) AS `Type 3`,
FROM Tickets
GROUP BY FamID
) t
ORDER BY t.Total DESC

关于SQL 计算基于字段类型和分组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35329374/

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