MySQL单查询填充按字母排序的词汇表


MySQL single query to populate alphabetical glossary

专家们,我正在创建一个词汇表,将字母表中的每个字母作为顶部的链接-用户可以选择特定的字母来查看以该字母开头的结果。例如:

[All] [A] [B] [C] [D] ... [X] [Y] [Z]

但是我并不是每个字母都有结果,所以我不希望这些字母是可点击的。例如,如果没有以"X"开头的结果,我将显示不带超链接的[X]。否则,用户必须点击一个字母来查看是否有结果,这可能会很烦人。

我的问题是:是否有一个单一的mysql查询,可以告诉我有多少结果为一个特定的列(说"名称"),以字母表的每个字母开始?我试图避免在渲染页面时对每个字母执行查询……

我在找这样的东西:

NameThatStartsWith   NumOfResults
        A                 23
        B                 11
        C                 32 
       etc...
        X                  0
SELECT LEFT(Name, 1) as NameThatStartsWith, COUNT(*) as NumOfResults
FROM your_table GROUP BY LEFT(Name, 1)