2017-11-03 9 views
-1

のフィールドにオブジェクトの配列として複数のレコードを返します。サブクエリは、私はサブクエリが複数のレコードが返されますクエリの下にこれをしようとしていますmysqlの

SELECT count(*) as total, GROUP_CONCAT (SELECT `id`, `lead_id`, `transaction_id`, `status`, `created_at` FROM `payments` WHERE `user_id` = '7') as data FROM `payments`WHERE `user_id` = '7' 

が、それは誤り

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT `id`, `lead_id`, `transaction_id`, `status`, `created_at` FROM `payments`' at line 1 

次返し例えば、あなたがクエリに他の方法で回避を使用する必要があり、この

+0

_ _「私はこの問題を解決するために助けてください」 - それからでもリモートで可能ということ作るための最低限を行ってください。 [ask]を読んでください。あなたのデータ・モデルが何であるか、実際にこのデータ・モデルから抜け出すと予想されるデータは、ここの誰も知りません。また:https://meta.stackoverflow.com/q/271055/1427878 – CBroe

答えて

0

を解決するために私を助けてください:

SELECT `id`, `lead_id`, `transaction_id`, `status`, `created_at`, 
(SELECT count(*) FROM `payments` WHERE `user_id` = '7') AS `total` 
FROM `payments` WHERE `user_id` = '7'; 

あなたはサブクエリでレコードの配列を1レコードとして返すことはできません。レコードを個別に読み取り、アプリケーションでカウントする方がよい(または、クエリから別の値としてカウントを読み取る)方がよい。

0

なぜそれを簡素化していけませんか?

SELECT `id`, `lead_id`, `transaction_id`, `status`, `created_at`, count(*) 
AS `total` FROM `payments` WHERE `user_id` = '7' 
GROUP BY `id`, `lead_id`, `transaction_id`, `status`, `created_at`; 

とにかく何を達成しようとしていますか?いくつかのサンプルデータとデータを取得しようとします。

+0

私の要件は、単一の行にデータを取得することです –

関連する問題