私のデータベースに15年前のデータがあります。過去のすべての年の平均をとり、現在の年のデータと比較したいと思います。 年の列があり、現在の年を除外して現在の年を別々に表示している間にデータの平均を取るのに問題があります。クエリ内の行を除外します
EDIT:これは私がテーブル[年、番号]を持っているものであり、私のようなものを達成しようとしている[平均数(現在以外のすべての年)、数(現在の年)]
私のデータベースに15年前のデータがあります。過去のすべての年の平均をとり、現在の年のデータと比較したいと思います。 年の列があり、現在の年を除外して現在の年を別々に表示している間にデータの平均を取るのに問題があります。クエリ内の行を除外します
EDIT:これは私がテーブル[年、番号]を持っているものであり、私のようなものを達成しようとしている[平均数(現在以外のすべての年)、数(現在の年)]
さて、あなたは疑問私は、実際のテーブル構造を見ることなく、あなたの作業クエリを構築することはできませんが、実際のテーブル/カラム名にあなたの自己それを調整することができ、多くの情報が欠けている:
SELECT t.YourComparingColumn as this_year,s.last_year
FROM YourTable t
CROSS JOIN(SELECT AVG(t1.YourComparingColumn) as last_year FROM YourTable t1
WHERE t1.year < year(now())) s
WHERE t.year = year(now())
あなたがそれらをでグループ化された場合任意ID
または何か:
SELECT t.id,t.YourComparingColumn as this_year,s.last_year
FROM YourTable t
INNER JOIN(SELECT t1.id,AVG(t1.YourComparingColumn) as last_year FROM YourTable t1
WHERE t1.year < year(now())
GROUP BY t1.id) s
ON(t.id = s.id)
WHERE t.year = year(now())
年に1つ以上の行がある場合は、それらも合計する必要があります。
既に試した質問を表示できますか? – Elen
ここで要件を理解するのに問題があります。テーブルの構造、サンプルデータ、得ようとしている結果を共有できますか? – Mureinik
申し訳ありませんが、私の質問でテーブルのような構造を作成するのに問題がありますが、これで十分であることを願っています。 – ybce