1
工作忽略计数当我运行此查询与零个值不与子查询
select id , (select count(*) ....) as c
from Foo
where c > 0
order by c desc
我ERROR 1054 (42S22): Unknown column 'c' in 'where clause'
所以,我怎么能忽略计数与零个值与子查询?
工作忽略计数当我运行此查询与零个值不与子查询
select id , (select count(*) ....) as c
from Foo
where c > 0
order by c desc
我ERROR 1054 (42S22): Unknown column 'c' in 'where clause'
所以,我怎么能忽略计数与零个值与子查询?
试试这个:
select * from (
select id, (select count(*)...) as c from Foo
) x
where c > 0
order by c desc
As from MySQL site:
标准SQL不允许在WHERE子句中的列别名引用。这种限制是强加的,因为当WHERE子句被评估时,列值可能还没有被确定。
参阅MySQL
任何方式:
您可以使用GROUP BY别名,ORDER BY或HAVING子句来引用列。
*不允许在WHERE子句中引用列别名,因为当执行WHERE子句时,列值可能还没有确定* –
thanks @juergend,但是我怎样才能忽略零计数值? – Youssef
h您查询它的方式总是一个。请张贴您的表格结构并解释您想要计算的内容 – e4c5