私は予算のテーブルを持っている:のmySQL - GROUP BYが、最新の行を取得
user_id product_id budget created
-----------------------------------------------------------------
1 1 300 2011-12-01
2 1 400 2011-12-01
1 1 500 2011-12-03
2 2 400 2011-12-04
私は、ユーザー
user_id manager_id product_id
------------------------------------
1 5 1
1 9 2
2 5 1
2 5 2
3 5 1
とマネージャーに入社、manager_userテーブルをも持っています私がしたいのは、マネージャ#5に割り当てられたユーザーのそれぞれを集めて、「予算」を取得することです。ただし、最新のものだけです。
は今の私の文は次のようになります。
SELECT * FROM manager_user mu
LEFT JOIN budget b
ON b.user_id = mu.user_id AND b.product_id = mu.product_id
WHERE mu.manager_id = 5
GROUP BY mu.user_id, mu.product_id
ORDER BY b.created DESC;
問題は、それが最新の予算を引っ張らないんです。助言がありますか?ありがとう!
あなたの声明は機能しません。 *とGROUP BYは選択できません。私はそう言う作業(完璧ではないが)、クエリ持っ –
:http://i.imgur.com/M325Z.jpg – TerryMatula
を私は解決策を掲載し、クエリは、MySQLで動作しますが、あまりにもこれを読んでいるのを見ました: http://stackoverflow.com/questions/1225144/why-does-mysql-allow-group-by-queries-without-aggregate-functions –