为了使用SET语句将SELECT结果分配给用户变量,我们需要将SELECT语句写为括号内的子查询。条件是SELECT语句必须必须返回一个值。为了理解,我们使用来自“投标”表的数据,如下所示:
mysql> select * from Tender; +----+---------------+--------------+ | Sr | CompanyName | Tender_value | +----+---------------+--------------+ | 1 | Abc Corp. | 250.369003 | | 2 | Khaitan Corp. | 265.588989 | | 3 | Singla group. | 220.255997 | | 4 | Hero group. | 221.253006 | | 5 | Honda group | 225.292266 | +----+---------------+--------------+ 5 rows in set (0.04 sec)
现在,在下面的查询中,我们将最大值(将其舍入为小数点后2位)后将bid_value设置为变量@Val_Max。
mysql> SET @Val_Max = (SELECT ROUND(MAX(tender_value),2) from tender); mysql> Select @Val_Max; +----------+ | @Val_Max | +----------+ | 265.59 | +----------+ 1 row in set (0.00 sec)