Since there is no GROUP-BY in the query, I am not sure what the HAVING COUNT(1) > 0 really means here. The query computes the total number of distinct values of a column and filters it by checking the count(1) (which is equivalent to count(*)) ? There is only 1 value returned.
Drill fails to plan the query, which is a bug - pls file a JIRA - but the following alternate versions of the query seem more meaningful (I think both of these should run successfully): 1. SELECT column1, COUNT(distinct column2) FROM ... GROUP BY column1 HAVING COUNT(*) > 0 2. SELECT COUNT(distinct column2) FROM .... HAVING COUNT(distinct column2) > 0 Aman On Wed, Dec 10, 2014 at 12:29 PM, Christopher Matta <[email protected]> wrote: > Tableau is using the following query to get the distinct count of a > measure: > > SELECT COUNT(DISTINCT `custview`.`age`) AS `ctd_age_ok` FROM > `mfs.views`.`nestedclickview` `nestedclickview` INNER JOIN > `mfs.views`.`custview` `custview` ON (`nestedclickview`.`cust_id` = > `custview`.`cust_id`) HAVING (COUNT(1) > 0); > > And it fails on 0.06r2. > > Interestingly if I remove the HAVING(COUNT(1)>0) statement at the end it > works: > > : jdbc:drill:zk=172.16.1.175:5181,172.16.1.1> SELECT COUNT(DISTINCT > `custview`.`age`) AS `ctd_age_ok` FROM `mfs.views`.`nestedclickview` > `nestedclickview` INNER JOIN `mfs.views`.`custview` `custview` ON > (`nestedclickview`.`cust_id` = `custview`.`cust_id`); > > +------------+ > | ctd_age_ok | > +------------+ > | 5 | > +------------+ > 1 row selected (4.776 seconds) > > Is this a bug, or a malformed query from Tableau? > > See the error log attached for more detail. > > Chris Matta > [email protected] > 215-701-3146 > >
