stackoverflowコミュニティ 私はあなたが私を助けてくれることを望むSQLステートメントに問題を導入しました。結合テーブルからの単一行のクエリと結合テーブルの総数
私は2つのテーブル:accounts
とusers
を持っています。 users
参照accounts
〜account_id
。 私は何をしたいことは、クエリが動作するように、次の取得されています
`SELECT accounts.*, count(users.*), user.*
FROM accounts
INNER JOIN users on accounts.id = users.account_id
INNER JOIN users user on accounts.id = user.account_id limit 1
GROUP BY accounts.id`
だから、私は次のような結果
`| accounts.id | users_count | user.phone |
===========================================
| 1 | 5 | xxxxxx |
は基本的に、私はアカウント内のすべてのユーザーの数量と具体的なデータを取得したい取得します1人のユーザーのために。単一のクエリで行うことも可能ですか?
ご回答いただきありがとうございます。
SELECT accounts.id,usercount.usercount,users.phone
FROM accounts
INNER JOIN users
ON accounts.id = users.account_id
INNER JOIN(
SELECT count(*) usercount,users.account_id
FROM users
GROUP BY account_id
) usercount
on usercount.account_id = accounts.id
アカウント内の任意の単一のユーザーのためのデータが必要な場合には、すべてのユーザーを取得するには、Get MAX(users.id)
を使用することができます。あなたは次の操作を行うことができ、各ユーザーとアカウントのための単一の行をしたいと仮定すると、
のでaccount.id = 1のために、あなたは、CSVとしてユーザの電話機を持つ各ユーザの携帯電話情報、または単一の行と5行をしたいですか? – ughai
あなたのrdmsは何ですか? – SKLTFZ
各アカウントには複数のユーザーが存在するため、単一のユーザーの電話番号とともにアカウントを一覧表示することは意味がありません。期待される成果をもっと見せるか、質問を明確にしてください。 –