MySQL select statement for querying records grouped by first character of value
SELECT case when
SUBSTRING( UPPER(`title`) from 1 for 1) between '0' and '9' then
'0-9' else SUBSTRING( UPPER(`title`) from 1 for 1) end as letter,
count(title) AS occurences
FROM `tablename`
GROUP BY letter
ORDER BY letter;
Result:
| letter | occurence |
| 0-9 | 2 |
| A | 1 |
| D | 4 |
| H | 5 |
| M | 7 |
| R | 2 |









