我有一个表(名称:数字),其中包含以下数据:
|number a | number b|
| 1 | 2 |
| 0 | 4 |
| 0 | 0 |
| 3 | 5 |
我需要帮助创建一个触发器,该触发器会在每一行中找到最大值并更新另一个表格(名称='结果'),其中包含最大数量a'数字a'以及'编号b'中的Max数量,以及每行的相等值数量:
| a wins | b wins | Draw |
| 0 | 3 | 1 |
任何帮助将不胜感激。
答案 0 :(得分: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