выборка по первому символу

desperado

Новичок
выборка по первому символу

суть следущая:
сделать подсчет записей с группировкой по первому символу одним запросом. т.е. все что на быкву а, б, ..., я
 
что-то типа:

select LEFT(Name, 1) as letter, count(LEFT(Name, 1)) as cnt from Table group by letter
 
сенкс.

и еще маленький вопросик:
почему запрос
[ЦВЕТОМ=darkred]SELECT LEFT(name, 1) AS letter, COUNT(LEFT(name, 1)) AS cnt FROM books_books GROUP BY letter ORDER BY letter[/ЦВЕТОМ]
выполняется нормально, а в таком виде
[ЦВЕТОМ=darkred]SELECT LEFT(name, 1) AS letter, COUNT(LEFT(name, 1)) AS cnt FROM books_books GROUP BY letter ORDER BY binary(letter)[/ЦВЕТОМ]
говорит что неизвестное поле letter
 
а хз... может поможет binary(LEFT(name, 1))... на 100% не уверен, попробуй...
 
да впринципе не в этом суть. я делаю сортировку как binary(name). просто мне интересно, что в первом случае он распознат алиас letter (если не так назвал - поправте) а вот во втором случае сортировки пишет, что такого нема. может это глюк мускуля под виндами (версия 3.23.27), хз. надобы на никсах протестить
 
кому будет интересно, то два решения моей проблемы:

первый (через SUBSTRING)
[ЦВЕТОМ=darkred]SELECT COUNT(*) AS total, SUBSTRING(word,1,1) AS letter FROM table GROUP BY binary(SUBSTRING(word,1,1)) ORDER BY binary(word);[/ЦВЕТОМ]

второй (через LEFT)
[ЦВЕТОМ=darkred]SELECT COUNT(LEFT(S_Name, 1)) AS total, LEFT(word, 1) AS letter FROM table GROUP BY binary(LEFT(word, 1)) ORDER BY binary(word);[/ЦВЕТОМ]

- можно еще помиксить substring и left, но это уже изврат

теперь остается один вопрос, какой из запросов будет работать быстрей. будем тестить, может че выясню
 
ну вот и протестили

в таблице размером 39 килов, 777 записей
Код:
запрос    | вызовов |  вpемя   | сpеднее
----------+---------+----------+---------
substring | 10001   | 109.4699 | 0.0109 
left      | 10001   | 109.1061 | 0.0109

в базе размером 419.6 кило, 2.754
Код:
запрос    | вызовов |  вpемя   | сpеднее
----------+---------+----------+---------
substring | 10001   | 1829.979 | 0.1830 
left      | 10001   | 1540.718 | 0.1541

тестилось под мускулем 3.23.27 + пхп 4.1.3 + апачем 1.3.27 на двухтысячнеке про (без сп).
паралельно вертелся винампа третий, крутя аэросмита

железо
П-3 666 мГз (страшная весч :) ) 256 озу. (все остальное без мазы)
 
Сверху