2010-12-14 4 views
0

各アカウントでどの種類のチケットが注文されたのか、トランザクションを発生させたアカウントでのみチケットの種類を取得する必要があります。私はそれぞれの価格のため、次のクエリでこれをやっている:MySQL COUNT()と結合に関する問題

SELECT tickets.order_id as order_id, count(tickets.id) as count 
    FROM tickets,transactions 
    WHERE price = $price 
    AND tickets.order_id = transactions.order_id 
    GROUP BY tickets.order_id 

これは、結果の右のセットを取得しますが、カウント数(tickets.id)の番号に複数のトランザクションがある受注にその数を乗じて。この問題を回避するにはどのようなクエリを使用する必要がありますか?別の種類の結合を使用する必要がありますか?

答えて

6

使用

count (distinct tickets.id) 
+0

乾杯は、それはそのようなものかもしれないと思っていますが、そのコンテキスト、おかげで 'distinct'キーワードを使用することができます知りませんでした! – fredley