gpt4 book ai didi

MySQL 高级 SUM 函数

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

美好的一天!

很抱歉,如果这个问题已经被问过,但我有点着急,所以我不确定。

我有 2 张 table :

Table.CarsTable.Price

表中汽车:

ID Auto_Increment Primary key NOT NULL
Name VARCHAR(30)

表中价格:

CarsID Primary key NOT NULL
Units Int
Price_per_unit decimal(10,2)
Total decimal(10,2)

所以,我需要做的是,在表 Price 中创建列(TOTAL*(名称不需要是必需的)),将其设置为执行数学函数。

基本上,我希望 Column.Total 显示单位 *price_per_unit,如下所示:

ALTER TABLE Price
ADD TOTAL Decimal(10,2)

UPDATE Price SET Total = SUM(Units * Price_per_unit);

看起来像这样:

---------------------------------------------------
| ID | Units | Price_per_unit | Total | TOTAL |
---------------------------------------------------
| 1 | 12 | 30000,00 | 360000,00 | NULL |
| 2 | 5 | 12000,00 | 60000,00 | NULL |

我的问题来了。我想让 TOTAL 看起来像这样:

---------------------------------------------------------
| ID | Units | Price_per_unit | Total | TOTAL |
---------------------------------------------------------
| 1 | 12 | 30000,00 | 360000,00 | 420000 |
| 2 | 5 | 12000,00 | 60000,00 | |
|_______________________________________________________|

所以,下次,我将新记录放入表 Price 中,我需要 TOTAL,通过从 Units * Price_pre_unit 获取数据来自动对表进行求和。

所以我的问题是,如何进行此查询?

最佳答案

如果你想让Mysql数据库自动执行,看来你正在寻找一个触发器。您应该调整此代码一次,触发器将永远处理它:

CREATE TRIGGER trigger_name
AFTER INSERT
ON price FOR EACH ROW
BEGIN
UPDATE Price SET Total = SUM(Units * Price_per_unit) where id=(select id from price order by id limit 1);
END;

关于MySQL 高级 SUM 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37532729/

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