假设我有一个table1,其字段为item_id 查询
select item_id + 1 as num1, (select num1) + 1 as num2 from table1
有效,但查询
select count(*) as num1, item_id, (select num1) + 1 as num2 from table1 group by item_id
失败,错误代码:1247。不支持引用'num1'(对组功能的引用)。
我知道我可以嵌套一个计算小计的查询,并在外部查询中使用它,但嵌套/临时表很难处理使用CakePHP。我不能使用用户变量(@ num1:= count(*))因为我需要在同一个select语句中重用数据,并且未定义读/写顺序。有人知道一个简单的解决方法吗?
答案 0 :(得分:1)
SELECT num1,
item_id,
num1 + 1 AS num2
FROM
( SELECT COUNT(*) AS num1,
item_id
FROM table1
GROUP BY item_id
) AS t;