Filter a column with distinct values

I am trying to display the results only for distinct values in a card.  The structure of my code is as follows: 

case

when `column1` in ('textvalue1', 'textvalue2', 'textvalue3')
then 'result1'

when `column1` in ('textvalue4', 'textvalue5', 'textvalue6') and `column2` in ('textvalue7', 'textvalue8', 'textvalue9')
then 'result2'

when `column3`= 'textvalue10'
then COUNT(DISTINCT `column4`), 'result3'


else 'result4'
end

The syntax error comes, when I add the "then COUNT(DISTINCT `column4`)" row. 
How could I rewrite the code in order to display/ filter the distinct values and the result from column3 as well?

Best Answer

  • Godzilla
    Godzilla Contributor
    Answer ✓

     

    it might be due to the results of the first 2 statements are returning a string but the Count distinct returns a numeric value. I believe all the results have to be the same data type in a case statement. 

    Domo Arigato!

    **Say 'Thanks' by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem as 'Accepted Solution'

Answers

  • Godzilla
    Godzilla Contributor
    Answer ✓

     

    it might be due to the results of the first 2 statements are returning a string but the Count distinct returns a numeric value. I believe all the results have to be the same data type in a case statement. 

    Domo Arigato!

    **Say 'Thanks' by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem as 'Accepted Solution'
  • kshah008
    kshah008 Contributor

    @Simon, did Godzilla's reply help out?

  • Yes, I corrected the mistake. Thank you! 

This discussion has been closed.