'order clause'中的未知列'2'

时间:2011-01-10 18:45:26

标签: mysql sql mysql-error-1054

select count(distinct(vw_SIPMIP.product_id)) from vw_SIPMIP , sp_mip_rule  
where 
vw_SIPMIP.product_id not in (select a.product_id from vw_non_SIPMIP a) 
and sp_mip_rule.id = vw_SIPMIP.id 
and sp_mip_rule.createdby != '_IMPORT' limit 1 

我一直收到此错误

1 个答案:

答案 0 :(得分:1)

你的语法是不正确的...通过使用(parens),它认为Distinct是一个函数,并期望内部值作为参数传递并获得一个值...你想要的是什么。 ..此外,由于您没有返回其他列,因此您不需要限制一个... COUNT(*)或COUNT(DISTINCT SomeColumn)将始终单独返回一行...没有分组需要的。

select count(distinct vw_SIPMIP.product_id) YourDistinctCount
   from vw_SIPMIP, 
        sp_mip_rule
   where  vw_SIPMIP.product_id not in (select a.product_id from vw_non_SIPMIP a)  
     and sp_mip_rule.id = vw_SIPMIP.id  
     and sp_mip_rule.createdby != '_IMPORT'