SELECT numTimesIndexLoaded, numTimesIndexLoadedUnique, numTimesResultsLoaded, numTimesResultsLoadedUnique, numTimesCTALoaded, numTimesCTALoadedUnique
FROM
(SELECT
sum(ctaSL.page = 'index') AS numTimesIndexLoaded,
sum(ctaSL.page = 'results') AS numTimesResultsLoaded,
sum(ctaSL.page = 'cta') AS numTimesCTALoaded,
count(distinct ctaSL.ip_address, ctaSL.page = 'index') AS numTimesIndexLoadedUnique,
count(distinct ctaSL.ip_address, ctaSL.page = 'results') AS numTimesResultsLoadedUnique,
count(distinct ctaSL.ip_address, ctaSL.page = 'cta') AS numTimesCTALoadedUnique
FROM
stats_page_loads AS ctaSL
WHERE ctaSL.campaign_id = ?
AND ctaSL.mode = ?
) t1
私はWebページの統計情報を取得しようとしています。目標は、3つのページのそれぞれが何回ロードされたかという統計情報と、3つのページのそれぞれについて一意のIPアドレスによって何回ロードされたかを示すことです。私は別物を使用することに新しいので、使用するのが適切かどうかは確かではありませんが、私はそれが間違って使用していると仮定しているので、私は適切な結果を得ていません。MySQL:複数の列から一意の数を取得する
もう1つのSELECT文をt2として作成することができましたが、それを避けるためには?変数を何度も何度も繰り返していくと、できるだけそれを1つに凝縮させたいと考えていました。
良いSQL関連の質問をするには、次のガイダンスを参照してください。http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to- me-to-be-a-very-simple-sql-query stansdというこの質問は、キーがデータ内にあるため、答えられません。 – Shadow
ヒントとして、[GROUP BY](https://dev.mysql.com/doc/refman/5.5/en/group-by-handling.html) –