2016-04-30 32 views
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'

所以,我怎麼能忽略計數與零個值與子查詢?

+3

*不允許在WHERE子句中引用列別名,因爲當執行WHERE子句時,列值可能還沒有確定* –

+0

thanks @juergend,但是我怎樣才能忽略零計數值? – Youssef

+0

h您查詢它的方式總是一個。請張貼您的表格結構並解釋您想要計算的內容 – e4c5

回答

0

試試這個:

select * from (
    select id, (select count(*)...) as c from Foo 
) x 
where c > 0 
order by c desc 
0
As from MySQL site: 

標準SQL不允許在WHERE子句中的列別名引用。這種限制是強加的,因爲當WHERE子句被評估時,列值可能還沒有被確定。

參閱MySQL

任何方式:

您可以使用GROUP BY別名,ORDER BY或HAVING子句來引用列。