我尝试按如下方式执行内部选择查询:
SET @rank = 0;
SELECT @rank := @rank + 1 AS id,
(SELECT a.id, COUNT(*) FROM table_A a GROUP BY a.id) AS count
FROM table_e e, table_p p
WHERE id= '100';
但是我收到了如下错误
“操作数应包含1列”
我自己测试了子查询,但它运行正常。这有什么问题?
修改 实际上我的count子查询看起来像这样:
(SELECT COUNT(*) FROM table_e e, table_p p a GROUP BY p.id) AS count
我试图计算table_p中table_e中有多少项。
答案 0 :(得分:1)
问题在于您的查询的一部分,它为一个别名选择两列:
(SELECT a.id, COUNT(*) FROM table_A a GROUP BY a.id) AS count
基于别名的名称,可能不需要选择a.id.