MySQL 5.0 を使用しています。
ビュー内の前の行に基づいて計算を実行したいと考えています。これは可能ですか?クエリが実際に実行される前にビューが存在しないため、そうではないと想定しています。これに対する回避策はありますか、それともテーブルの作成と更新が私の最善の策ですか?
これは私の間違ったコーディングであり、ロジックが不足していることはわかっていますが、私が達成したいことを示しています。
CREATE VIEW `Master Facebook Data` tt1 AS SELECT
t1.id AS `Client ID`,
t1.name AS `Client Name`,
t1.`Date`,
avg(t1.`Daily People Talking About This`) AS `Avg Daily Talk`,
(((tt1.`Avg Daily Talk`-IFNULL(tt2.`Avg Daily Talk`, 0)))/tt1.`Avg Daily Talk`) AS `Change in Talk`,
avg(t1.`Weekly Total Reach`) AS `Avg Weekly Reach`,
(((tt1.`Avg Weekly Reach`-IFNULL(tt2.`Avg Weekly Reach`, 0)))/tt1.`Avg Weekly Reach`) AS `Change in Reach`,
avg(t1.`Daily Viral Reach`) AS `Avg Daily Viral`,
(((tt1.`Avg Daily Viral`-IFNULL(tt2.`Avg Daily Viral`, 0)))/tt1.`Avg Daily Viral` AS `Change in Viral`
FROM `clients` t1
JOIN `FB Exports - Key Metrics` t2
ON t1.`id` = t2.`client`
LEFT OUTER JOIN `Master Facebook Data` tt2
ON tt1.`Client ID` = tt2.`Client ID`
AND month(tt1.`Date`)-month(tt2.`Date`)=1
GROUP BY t2.`client`, month(t2.`Date`)
ORDER BY t2.`client`, t2.`Date`
どうもありがとう!=]