2011-08-12 7 views
1

専門家、私は上部にリンクとしてアルファベットの各文字を持つ用語集を作成しています - ユーザーは特定の文字を選択してその文字で始まる結果を見ることができます。たとえば、アルファベットの用語集を入力するMySQLの単一のクエリ

しかし、私はそれらの文字をクリック可能にしたくないので、すべての文字に対して結果がありません。たとえば、「X」で始まる結果がない場合は、[X]をハイパーリンクなしで表示します。そうでなければ、ユーザーは結果があるかどうかを確認するために文字をクリックしなければならず、迷惑になる可能性があります。

私の質問は:アルファベットの各文字で始まる特定の列(「名前」と言う)の結果の数を教えてくれる単一のmysqlクエリですか?私はページをレンダリングしていますように私は私のようなものを探しています...各文字に対してクエリを実行しないようにするために

をしようとしている:

NameThatStartsWith NumOfResults 
     A     23 
     B     11 
     C     32 
     etc... 
     X     0 

答えて

3
SELECT LEFT(Name, 1) as NameThatStartsWith, COUNT(*) as NumOfResults 
FROM your_table GROUP BY LEFT(Name, 1) 
+0

ご返信いただきありがとうございます。あなたのコードは、GROUP BYの一部としてエイリアスを使用することができないため、私が見つけたエラーを私に与えていました。これを修正するためにあなたの返信を編集しました。 – http203

関連する問題