私はstackoverflowがこの質問の答えを覚えていることを知っていますが、私は少し異なる状況があります。 2番目のテーブルにはたくさんのセルがありますが、SQLクエリは最初に取得されます。 OK、すべてのクエリではなく、WHEREタグのみ。他のテーブル値によってSQLクエリを注文する方法
例:
1テーブル:
user_id = 1
user_id = 2
2テーブル:
user_id = 1 | year = 2015 | rating = 55
user_id = 1 | year = 2016 | rating = 10
user_id = 2 | year = 2016 | rating = 50
user_id = 2 | year = 2016 | rating = 5
SQLクエリ:
$query = "SELECT c.*,v.upvotes
FROM ".PREFIX."_users c
LEFT JOIN (SELECT user_id,pol,vid_sporta,year_sport,category,SUM(rating) as upvotes
FROM ".PREFIX."_userrating
GROUP BY user_id
) v
ON c.user_id = v.user_id
WHERE year_sport='2015'
ORDER BY upvotes DESC";
このクエリでは1人のユーザーしかいませんが、2015最初にと表示されます。
私は、
'pol、vid_sporta、year_sport、category'フィールドの場所によっては、それらをグループ化せずに選択すると災害のレシピになります。 ...それはただ1つのレコードしか持っていません。グループのためにあなたのWHERE条件を満たす人は1人だけです; – Uueerdo
あなたの期待する結果は? –
ありがとう:)しかし、私は、このユーザーによって評価された1人のユーザーしかショーする必要はありません。 – Twelvee