Ad Code

Selecting COUNT from MySQL table by first letter of a column


Method 1:

SELECT
    SUBSTRING(last_name, 1, 1) as letter, count(*) as total
FROM
    users
GROUP BY SUBSTRING(last_name, 1, 1);


Method 2:

SELECT
count(*) total,
    SUM(case when trim(last_name) like 'a%' then 1 else 0 end) A,
    SUM(case when trim(last_name) like 'b%' then 1 else 0 end) B,
    SUM(case when trim(last_name) like 'c%' then 1 else 0 end) C,
    SUM(case when trim(last_name) like 'd%' then 1 else 0 end) D,
    SUM(case when trim(last_name) like 'e%' then 1 else 0 end) E,
    SUM(case when trim(last_name) like 'f%' then 1 else 0 end) F,
    SUM(case when trim(last_name) like 'g%' then 1 else 0 end) G,
    SUM(case when trim(last_name) like 'h%' then 1 else 0 end) H,
    SUM(case when trim(last_name) like 'i%' then 1 else 0 end) I,
    SUM(case when trim(last_name) like 'j%' then 1 else 0 end) J,
    SUM(case when trim(last_name) like 'k%' then 1 else 0 end) K,
    SUM(case when trim(last_name) like 'l%' then 1 else 0 end) L,
    SUM(case when trim(last_name) like 'm%' then 1 else 0 end) M,
    SUM(case when trim(last_name) like 'n%' then 1 else 0 end) N,
    SUM(case when trim(last_name) like 'o%' then 1 else 0 end) O,
    SUM(case when trim(last_name) like 'p%' then 1 else 0 end) P,
    SUM(case when trim(last_name) like 'q%' then 1 else 0 end) Q,
    SUM(case when trim(last_name) like 'r%' then 1 else 0 end) R,
    SUM(case when trim(last_name) like 's%' then 1 else 0 end) S,
    SUM(case when trim(last_name) like 't%' then 1 else 0 end) T,
    SUM(case when trim(last_name) like 'u%' then 1 else 0 end) U,
    SUM(case when trim(last_name) like 'v%' then 1 else 0 end) V,
    SUM(case when trim(last_name) like 'w%' then 1 else 0 end) W,
    SUM(case when trim(last_name) like 'x%' then 1 else 0 end) X,
    SUM(case when trim(last_name) like 'y%' then 1 else 0 end) Y,
    SUM(case when trim(last_name) like 'z%' then 1 else 0 end) Z,
    SUM(case when trim(last_name) REGEXP '^[[:digit:]]' then 1 else 0 end) num
FROM
users
WHERE
1

Post a Comment

0 Comments