Interesting query outcomes

Joe <[email protected]> Tue, 18 Aug 2020 13:33:48 -0700 (PDT)
Newsgroups comp.databases.mysql
Message-ID <[email protected]>
I have a MySQL table field sometimes with NULL or empty values when there is no data.  When I wrote the following to count data in this field:

select CASE WHEN (TNAM is NULL || TNAM='') THEN 'default' 
                       ELSE TNAM END,  count(1)
 from ITEMS group by 1;

I got:

| default          |     2929 |
| default          |      139 |
| item A           |      347 |
| item B           |      831 |
....
-- why "default" repeats? I humble one is from "TNAM is NULL" and the other from "TNAM=''", and also thought they should have been combined with "group" function... Thoughts without actually update table to turn "empty" to NULL or vise versa?

Joe