0

セッションの量と、それらのセッションで行われた注文の量を返すクエリがあります。単純なことですが、私がやりたいのは、注文が行われたセッションの割合を表示することです。

SELECT COUNT(*) FROM table.session //Save this as variable 'Amount1'?
WHERE ses_Date BETWEEN ('2006/01/01') AND ('2011/01/01')
UNION ALL
SELECT COUNT(*) FROM table.session
WHERE Ses_ID
IN
(
SELECT Ses_ID FROM session //Save this as variable 'Amount2'?
JOIN table.order ON order.Session_ID = session.Ses_ID
WHERE ses_Date BETWEEN ('2006/01/01') AND ('2011/01/01')
GROUP by ses_ID
)

//Then do this, Display the percentage of the two
union all   
Select(SUM(amount2) /SUM(amount1) * 100)

私が理論的にやりたいことを書いたコードへのコメントで、それがお役に立てば幸いです。

4

1 に答える 1

1

あなたはこれを行うことができます:

SELECT COUNT(*) / (SELECT COUNT(*) 
                   FROM table.session
                   WHERE ses_Date BETWEEN ('2006/01/01') AND ('2011/01/01')) * 100

FROM table.session
WHERE Ses_ID
IN
(
SELECT Ses_ID FROM session //Save this as variable 'Amount2'?
JOIN table.order ON order.Session_ID = session.Ses_ID
WHERE ses_Date BETWEEN ('2006/01/01') AND ('2011/01/01')
GROUP by ses_ID
)
于 2012-11-15T16:21:49.117 に答える