出于某种原因,我不能让这个查询时,我做了选择进入返回一个值。MySQL的SELECT INTO <variable>返回null,但查询返回的值
给定一个表t10company
,我有一个列叫做CompanyID
这是CHAR(8)
,它在它的有一个值:MYCO0001
如果我发出以下查询:
SELECT
MAX(CONVERT(RIGHT(CompanyID, 4), UNSIGNED INTEGER))
FROM t10company
WHERE LEFT(CompanyID, 4) = 'MYCO'
GROUP BY LEFT(CompanyID, 4)
ORDER BY RIGHT(CompanyID, 4) LIMIT 1;
我得到一个返回值为1,这是我所期望的。
如果我发出与INTO @myvar
不同的完全相同的查询,然后执行SELECT @myvar
,它总是返回NULL。它在我正在编写的存储过程中执行此操作,并且也在MySQL Workbench的查询窗口中执行此操作。我不知道为什么?
通常在SELECT列表中包含GROUP BY表达式,但不是必需的。 – spencer7593 2012-07-19 21:21:26