我需要计算每个帐户订购了哪些类型的票证,并且只计算已经发生交易的帐户。我正在使用以下查询为每个价格执行此操作:
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
这会得到正确的结果集,但是在有多个交易的订单中,count(tickets.id)的数量乘以该数字。我需要使用什么查询来避免此问题?我需要使用其他类型的联接吗?
答案 0 :(得分:6)
使用
count (distinct tickets.id)