我有一个表格(名称:数字),其中包含以下数据:
|number a | number b|
| 1 | 2 |
| 0 | 4 |
| 0 | 0 |
| 3 | 5 |
我需要帮助创建一个触发器,该触发器将查找每行中的最大值,并使用“数字 a”中的最大值和“数字 b”中的最大值更新另一个表(名称=“结果”),以及每行相等值的数量:
| a wins | b wins | Draw |
| 0 | 3 | 1 |
任何帮助将不胜感激。
最佳答案
您可以使用以下查询来计算预期结果:
select sum(a) as 'a wins', sum(b) as 'b wins', sum(c) as 'draws'
from (
select
if(numbera > numberb , 1, 0) a,
if(numberb > numbera , 1, 0) b,
if(numbera = numberb , 1, 0) c
from numbers) results
您可以将此查询嵌入到触发器中,并将其与插入查询一起包装到另一个表中。这是SQL Fiddle
关于Mysql触发器查找最大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36072865/