我正在尝试实现一个计算的(虚拟的?)列,该列在insert上更新,以便不使用触发器、交叉连接或cte。我希望做的是按一个字段(col1)分组,并计算给定行在表中占总数的百分比。例如: +------+-----+------+ | Col1 | Amt | Pct | +------+-----+------+ | foo | 10 | 0.5 | | foo | 5 | 0.25 | | bar | 15 | 1 | | foo | 5 | 0.25 | +------+-----+------+
插入新行。。。
{Col1: bar, Amt: 5} +------+-----+------+ | Col1 | Amt | Pct | +------+-----+------+ | foo | 10 | 0.5 | | foo | 5 | 0.25 | | bar | 15 | 0.75 | | foo | 5 | 0.25 | | bar | 5 | 0.25 | +------+-----+------+
感谢您的帮助。我试过搜索各种帖子,包括forks,但在mariadb上找不到一个虚拟的专栏来处理这个问题。
1条答案
按热度按时间0md85ypi1#
计算列每行中的值不能依赖于表中其他行中的值。
您可能希望考虑视图而不是计算列。这是视图的定义。注意,它是所有金额的总和。