このタイトルが意味をなさない場合は、提案を提供してください!
私は単純な(っぽい)統計クエリを作成しています.2つの列は、アイテムを表示するときに開始された時間と終了した時間です。私がやりたかったのは、特定のアイテムのビューをバウンスとして分類できる回数を返すことでした。
現在、クエリは必要なすべての情報を返すことができます。ここまではかなり単純ですが、この部分に問題があります。
これは、現在間違ったアプローチだと確信しています。
IF(((UNIX_TIMESTAMP(v.time_ended) - UNIX_TIMESTAMP(v.time_started)) < 5), 1,0) bounce
各行の UNIX_TIMESTAMP(v.time_ended) を取り、それを UNIX_TIMESTAMP(v.time_started) から差し引く必要があります。この値が「バウンス」として分類している 5 より小さいかどうかを確認し、そうであれば +バウンス列に 1。
1行のデータしか返していませんが、これを実行する方法がわかりませんが、助けていただければ幸いです。
ありがとう
ジョニー
更新されたコード
SELECT i.id,
i.title,
i.slug,
i.buyer_id as buyer_id,
i.date_added as date_added,
a.slug as area_slug,
COUNT(o.id) as offers,
COUNT(v.item_id) as total_item_views,
(COUNT(v.item_id) / COUNT(o.id)) conversion,
SUM(CASE WHEN v.time_ended - v.time_started < 5 THEN 1 ELSE 0 END)
FROM item as i
LEFT JOIN offer as o ON i.id=o.item_id
LEFT JOIN viewed_item as v ON i.id=v.item_id
INNER JOIN area as a ON a.id=i.area_id
WHERE i.id=3