DISTINCT多列与IF

时间:2016-02-04 16:39:17

标签: mysql syntax distinct multiple-columns

看到很多关于它的帖子,但出乎意料地得到了SYNTAX问题 这是代码:

SELECT o.shortName AS '1'
      ,SUM(ai.amount) AS '3' 
      ,....
      ,COUNT(DISTINCT (IF (et.name LIKE 'lalala',ai.event_id,ai.action_id,ai.visit_id,NULL))) AS '6'
      ,...
      ,ROUND(SUM(ai.sum),2) AS '15'
  JOIN .... many tables
 GROUP BY o.id

好吧,因为你看到IF想要3个操作数,但是DISTNICT不能用括号。
最后不能使用group by。 错误消息:操作数应包含1列 cpt Obvios
附: mysql,INNODB

1 个答案:

答案 0 :(得分:0)

您可以尝试使用CONCAT_WS而不是CONCAT来避免在ID看起来相似时出现错误计数,就像(1,11,111)

一样