Mysql触发器找到最高编号

时间:2016-03-17 22:31:42

标签: mysql database triggers

我有一个表(名称:数字),其中包含以下数据:

|number a | number b|

|   1     |    2    |
|   0     |    4    |
|   0     |    0    |
|   3     |    5    |

我需要帮助创建一个触发器,该触发器会在每一行中找到最大值并更新另一个表格(名称='结果'),其中包含最大数量a'数字a'以及'编号b'中的Max数​​量,以及每行的相等值数量:

| a wins | b wins | Draw |

|   0    |   3    |   1  |

任何帮助将不胜感激。

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