質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1396閲覧

SQLで一か月分の日別のデータを作成する。

konpei_konpei

総合スコア20

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/08/31 01:30

日付ごとに集計をだしたく色々しらべており理想の参考サイトを見つけました。

参考サイト

さらに日付毎に何回足し算をしたかといったカウントもとりたいのですがそちら下記の文に何を追加すれば可能になるでしょうか?

SQL

1SELECT ADDDATE('2010-10-01', V.Number) as Date,IFNULL(Sum(S.Sales),0) as Sales 2FROM vw_sequence99 as V LEFT JOIN trn_sales as S 3ON ADDDATE('2010-10-01', V.Number) = DATE(S.`SaleDate`) 4WHERE ADDDATE('2010-10-01', V.Number) BETWEEN '2010-10-01' AND '2010-10-31' 5GROUP BY ADDDATE('2010-10-01', V.Number);

ご回答宜しくお願いいたします。
もしご質問の内容がわかりにくかったら随時更新いたします。
宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

COUNT(S.Sales) AS KENSUを追記すれば良いのでは?

SQL

1SELECT ADDDATE('2017-08-01', V.Number) as Date,IFNULL(Sum(S.Sales),0) as Sales,COUNT(S.Sales) AS KENSU 2FROM vw_sequence99 as V LEFT JOIN trn_sales as S 3ON ADDDATE('2017-08-01', V.Number) = DATE(S.`SaleDate`) 4WHERE ADDDATE('2017-08-01', V.Number) BETWEEN '2017-08-01' AND '2017-08-31' 5GROUP BY ADDDATE('2017-08-01', V.Number)

投稿2017/08/31 01:45

motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

konpei_konpei

2017/09/01 03:07 編集

ご回答ありがとうございます! ちなみに追記となってしまって申し訳ないのですが さらにtrn_salesのテーブルのtype=1のみ取得しようとしたのですがその際にSELECT ADDDATE('2017-08-01', V.Number) as Date,IFNULL(Sum(S.Sales),0) as Sales,COUNT(S.Sales) AS KENSU FROM vw_sequence99 as V LEFT JOIN trn_sales as S ON ADDDATE('2017-08-01', V.Number) = DATE(S.`SaleDate`) WHERE type="1" AND ADDDATE('2017-08-01', V.Number) BETWEEN '2017-08-01' AND '2017-08-31' GROUP BY ADDDATE('2017-08-01', V.Number) でいいのかと思ったのですが違いました… どのようにすれば解決するかお伺いしてもよろしいでしょうか? できれば理由も添えていただけると幸いです。。。 こちらではといった形でしたらまた新たに質問をたてさせていただきます!
motuo

2017/09/01 02:00

「でいいのかと思ったのですが違いました…」というのは、何が違ったのでしょうか? 入力データと想定した出力、そして「違った」と思った結果を提示して頂ければと思います。
konpei_konpei

2017/09/01 03:04

今回出力したいものが trn_salesといったテーブルでの カラム名typeの1 のSalesの合計値を 2017-08-01~2017-08-31まですべて表示するといった事が目的でした。 ですが AND type="1" を入れた際に今まですべての数値が表示されていたのが 0ものは表示されなくなってしまいました。
motuo

2017/09/01 03:06

whereではなく、Onの条件の中でAND type="1"を指定したらどうですか?
konpei_konpei

2017/09/01 03:17

助かりました!求めいている結果が表示されました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問