今天看mysql的手册的时候发现这么一句:
能够在带有“:=”赋值操作符的语句中设置变量。o mysql> SELECT @a:=SUM(total),@b=COUNT(*),@a/@b AS avg
o -> FROM test_table;
o mysql> SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
但是我测试了一下:select value_type_sk,@a:=sum(detail_value) as a,@b:=count(*) as b,@a/@b as avg from tb_0_1_A_fact where value_time='2010-01-12' group by value_type_sk;
结果却是
+---------------+------------+---+------------------------------------------+
| value_type_sk | a | b | avg |
+---------------+------------+---+------------------------------------------+
| 1 | 10863240 | 1 | 197871662.000000000000000000000000000000 |
| 2 | 9892944 | 1 | 197871662.000000000000000000000000000000 |
| 3 | 642106660 | 1 | 197871662.000000000000000000000000000000 |
| 4 | 587068769 | 1 | 197871662.000000000000000000000000000000 |
| 5 | 2147483647 | 1 | 197871662.000000000000000000000000000000 |
| 6 | 197871662 | 1 | 197871662.000000000000000000000000000000 |
+---------------+------------+---+------------------------------------------+
怎么都变成@a/@b最后一个结果的值了
能够在带有“:=”赋值操作符的语句中设置变量。o mysql> SELECT @a:=SUM(total),@b=COUNT(*),@a/@b AS avg
o -> FROM test_table;
o mysql> SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
但是我测试了一下:select value_type_sk,@a:=sum(detail_value) as a,@b:=count(*) as b,@a/@b as avg from tb_0_1_A_fact where value_time='2010-01-12' group by value_type_sk;
结果却是
+---------------+------------+---+------------------------------------------+
| value_type_sk | a | b | avg |
+---------------+------------+---+------------------------------------------+
| 1 | 10863240 | 1 | 197871662.000000000000000000000000000000 |
| 2 | 9892944 | 1 | 197871662.000000000000000000000000000000 |
| 3 | 642106660 | 1 | 197871662.000000000000000000000000000000 |
| 4 | 587068769 | 1 | 197871662.000000000000000000000000000000 |
| 5 | 2147483647 | 1 | 197871662.000000000000000000000000000000 |
| 6 | 197871662 | 1 | 197871662.000000000000000000000000000000 |
+---------------+------------+---+------------------------------------------+
怎么都变成@a/@b最后一个结果的值了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货