データベースでかなり広いビューを持っています。私はいくつかのテーブルから生成された次のダミービューを持っています。フィールド名を指定せずにビューからすべてのフィールドのすべての平均を選択する
avg(field1) avg(field2) avg(field3) avg(field4) avg(field5)
----------- ----------- ----------- ----------- -----------
2.0 5.0 8.0 11.0 14.0
:結果が得られ
SELECT avg(field1), avg(field2), avg(field3), avg(field4), avg(field5) FROM view_name;
:私はからの平均を望んそれぞれすべてのフィールドに名前を付ける必要があり、その平均値を取得するには
field1 field2 field3 field4 field5
---------- ---------- ---------- ---------- ----------
1 4 7 10 15
2 5 8 11 14
3 6 9 12 13
:SELECT * FROM view_name;
は以下のものを生み出します
実際のユースケースの中には、レポートのような目的のために20~25フィールド幅のビューがあり、私が平均から取得したいと思う各列を指定する必要がなければ、もっと簡単にできます。この問題を回避する方法があるのでしょうか? 私が使用しているデータベースはsqliteとmariadbなので、いずれかの解決策があれば問題はありません。
要するに、フィールド名を指定せずにすべてのフィールドのすべての平均値を取得するように指定する方法を探しています。ちょうどSELECT *
のように動作し、上記のクエリと同じように返します。構文に違反するアナログは、あなたは、私が作成したダミーのビューを使用したい場合は、あなたが述べたように、(実際の景色を、それをシミュレートするために、ダミーのテーブルを使用することができます
SELECT * FROM view_name
とSELECT AVG(*) FROM view_name
だろう、くらいです広い)この表より:さらに
CREATE table dummy (
field1 int,
field2 int,
field3 int,
field4 int,
field5 int
);
INSERT INTO dummy VALUES (1,4,7,10,15);
INSERT INTO dummy VALUES (2,5,8,11,14);
INSERT INTO dummy VALUES (3,6,9,12,13);