Date: prev next · Thread: first prev next last


福永様。

すみません、集計関数sumを金額のところに入れる必要があります。
できるかぎり、ていねいに書いてみます。
こんな感じです。

テーブル1:----------------------------------
フィールド名  フィールドタイプ
ID(プライマリーキー)    varchar
商品名     varchar
代金      integer
日付      date
---------------------------------------------
入力データ

ID      商品名     代金      日付
001     リンゴ     1200    2月7日
002     みかん     2000    2月8日
003     リンゴ     3000    3月2日
004     ばなな     4000    3月4日
005     リンゴ     210     4月1日
----------------------------------------------
データベースエンジンHSQLDB(埋め込み)
クエリデザイン(クエリ実行後、再表示知ると構成が変更されている)
フィールド   代金      to_char( "日付", 'YYYY/MM' )
エイリアス                年月
テーブル    テーブル1
関数              sum             group
------------------------------------------------
クエリ実行結果

sum(“テーブル1”.”代金”)       年月
3200                            2017/02
7000                            2017/03
210                             2017/04
-------------------------------------------------
SQL文
SELECT SUM( "代金" ), to_char( "日付", 'YYYY/MM' ) AS "年月" FROM "テーブル1" GROUP BY to_char( "日付", 'YYYY/MM' )
--------------------------------------------------------------------
--------------------------------------------------------------------
データベースエンジンfirebird(埋め込み)
クエリデザインではSQLを発行出来ませんでした。
直接発行します。
SQL文
SELECT SUM( "代金" ), LPAD( EXTRACT( YEAR FROM "日付" ), 4, '0' ) || '/' || LPAD( EXTRACT( MONTH FROM "日付" ), 2, '0' ) as "年月" FROM "テーブル1" group by "年月"

日付の表示形式が2017-02でもよければ、

SELECT SUM( "代金" ), substring("日付" from 1 for 7) as "年月" FROM "テーブル1" group by "年月"

---------------------------------------------------------------------------
firebirdはクエリデザインが使えませんでした。関数のドロップダウンリストからgroupが消えていました。以上。

On 2017年02月07日 20:04, 福永ケンセイ wrote:
回答ありがとうございました。
指摘された通り行ったのですがうまくいきません。
初心者でよくわかりません。
お手数をかけますが
そちらで実行されたクエリー全体の設定のを教えて頂けないでしょうか。
こちらで再入力し勉強したいと思います。
よろしくお願いいたします。

2017年2月7日 11:34 志義ゼミ <shigi-info@shigizemi.com
<mailto:shigi-info@shigizemi.com>>:

    堀と申します。

    こんな感じでは、どうでしょうか。LO5.3で確認しています。
    クエリーフィールドに 「to_char("日付",'YYYY/MM')」
    エイリアスに 「年月」
    関数に 「GROUP」
    ※「」は入力しません。
    を入力し、実行してみると、私の環境では月ごとの合計金額が取得できました。
    しかし、再度、編集でクエリデザインを表示すると、なぜか、新たな列が追
    加され、to_char([日付],'YYYY/MM')が追記されています。原因は不明とい
    うか追求していません。一応、結果オーライです。
    以上参考までに。



    On 2017年02月07日 03:49, Takeshi Abe wrote:

        On Mon, 6 Feb 2017 12:58:46 +0900, 福永ケンセイ
        <merumaga1407@gmail.com <mailto:merumaga1407@gmail.com>> wrote:

            日付を月でまとめて集計したいのですが。

            ACCESSでは
            フィールドに
            1)年月:format([日付],"yyyy/mm")を入力
            2)次のフィールドに商品分類、金額を追加
            3)集計行を表示させて
            4)集計方法を設定
            5)クエリー実行でできるようなのですが

            baseでは1)の段階で”不明”のエラーメッセージ出ます。
            どのようにしたらよいでしょうか?

        Baseでは利用しているデータベースによって使える関数が変わります。
        LibreOffice 5.2や5.3では、
        1. まず日付型のカラムを含むクエリーをウィザードなどで作成する
        2. そのクエリーのコンテキストメニューから「SQL表示で編集」を選択
        し、SQLの該当の
           カラム部分を編集する
        3. このクエリーを使ってレポートのウィザードでグルーピングする
        というステップで上のような集計が可能です。

        例としてfoo、bar、bazという3つのカラムを持つテーブルTable1を集計
        するとします。
        このうちbazが該当の日付型のカラムとします。
        データベースにHSQLDBを使っているなら、例えば
        SELECT "Table1"."foo" AS "foo", "Table1"."bar" AS "bar",
        "Table1"."baz" AS "baz" FROM "Table1" "Table1"
        というSQLを
        SELECT "Table1"."foo" AS "foo", "Table1"."bar" AS "bar",
        TO_CHAR( "Table1"."baz", 'YYYY/MM' ) AS "baz" FROM "Table1" "Table1"
        のように編集します。

        データベースにFirebirdを使っている場合にはTO_CHAR関数がないた
        め、代わりに
        SELECT "Table1"."foo" "foo", "Table1"."bar" "bar", LPAD(
        EXTRACT( YEAR FROM "Table1"."baz" ), 4, '0' ) || '/' || LPAD(
        EXTRACT( MONTH FROM "Table1"."baz" ), 2, '0' ) "baz" FROM
        "Table1" "Table1"
        のようにします。

        -- Takeshi Abe

    --
    /////////////////////////////
    志義ゼミナール 小郡校
    (福岡国際高等学院小郡校)
    堀 正和
    〒838-0141
    福岡県小郡市小郡630-62
    志義>TEL/FAX:0942-73-1710
    国際>TEL/FAX:0942-55-4801
    /////////////////////////////



    --
    Unsubscribe instructions: E-mail to
    users+unsubscribe@ja.libreoffice.org
    <mailto:users%2Bunsubscribe@ja.libreoffice.org>
    Posting guidelines + more:
    http://wiki.documentfoundation.org/Netiquette
    <http://wiki.documentfoundation.org/Netiquette>
    List archive: http://listarchives.libreoffice.org/ja/users/
    <http://listarchives.libreoffice.org/ja/users/>
    All messages sent to this list will be publicly archived and cannot
    be deleted



--
Unsubscribe instructions: E-mail to users+unsubscribe@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.