我猜想如果不定义函数是不可能的。这个想法是你有一个像这样的表
表:
----------------
| A | B | Total|
|---|---|------|
| 1 | 2 | 3 |
| 4 | 5 | 9 |
| 6 | 7 | 13 |
----------------
select */Total from table
----------------------------
| A | B | Total |
|-------|-------|----------|
| 0.333 | 0.667 | 1.00 |
| 0.8 | 0.556 | 1.00 |
| 0.462 | 0.538 | 1.00 |
----------------------------
select */(select max(*) from table) from table
----------------------------
| A | B | Total |
|-------|-------|----------|
| 0.167 | 0.286 | 0.231 |
| 0.667 | 0.714 | 0.692 |
| 1.000 | 1.000 | 1.000 |
----------------------------
答案 0 :(得分:0)
因此,您希望输出中使用运算符。您可以简单地这样做以获得第一个示例:
SELECT A/total, B/total, (A+B)/total FROM `table`
您甚至不需要“总计”列:
SELECT A/(A+B), B/(A+B), 1 as total FROM `table`
第二,如果您想获得平均值,则适用相同的逻辑。