私はMySQLの中で「顧客」と呼ばれるテーブルを持っているとMySQLの最初の文字の値はどのように数えられますか?
SELECT id, name, left(UPPER(name),1) AS letter
でこれを取得:
id | name | letter
1 John J
2 James J
3 Julia J
4 Lauren L
5 Peter P
6 Pietro P
しかし、今、私はこれが最初の文字の合計に
id | name | letter | total
1 John J 3
2 James J 3
3 Julia J 3
4 Lauren L 1
5 Peter P 2
6 Pietro P 2
のカウントを取得する必要がありますが
私はそれを解決しました(一時的に)追加
(SELECT COUNT(id) FROM customers WHERE left(UPPER(name),1) = letter) AS total"
ですが、元のクエリには多くのINNER JOINが含まれていますので、この最後のを選択してください。は(不必要な場合があります)の内部結合を複製します。
提案がありますか?
'select count(*)、left(name、1)... group by left(name、1)'、基本的には? –
「group by」は、すべての文字(John、Lauren、Peter)の拳の名前を表示していますが、カウントは大丈夫です – khristoff