データベース、初心者です。
似たような問題をうまく見つけることができず、教えていただけると幸いです。
以下のようなテーブルがあります。
このテーブルの点数列を、教科ごとに、国語列と算数列に分けて、テーブルを作りたいです。
テーブルを作るというか、SELECT分と、GROUP BYを使って、できるのかな?というイメージなのですが、どのようにSELECT文を書けば良いでしょうか?
よろしくお願いいたします。
SQL
1SELECT 日付,名前,教科,点数 FROM テーブル名
日付 | 名前 | 教科 | 点数 |
---|---|---|---|
8/1 | 鈴木 | 算数 | 100 |
8/2 | 佐藤 | 国語 | 90 |
8/2 | 鈴木 | 算数 | 95 |
8/2 | 佐藤 | 算数 | 70 |
8/3 | 高橋 | 国語 | 85 |
8/4 | 鈴木 | 算数 | 90 |
8/4 | 高橋 | 算数 | 100 |
以下のような出力になるイメージです。
日付 | 名前 | 国語 | 算数 |
---|---|---|---|
8/1 | 鈴木 | 0 | 100 |
8/2 | 佐藤 | 90 | 70 |
8/2 | 鈴木 | 0 | 95 |
8/3 | 高橋 | 85 | 0 |
8/4 | 鈴木 | 90 | 0 |
8/4 | 高橋 | 0 | 100 |
「以下のようなテーブルがあります。」と書かれていますがどのようなテーブルですか?テーブル設計がわかりません。
コメントありがとうございます。
わかりにくくてすみません。一番最初に書いた表(SELECT文の下の表)が、テーブルのイメージでした。
データベースはなんでしょうか。データベースをタグに追加してください。
「クロス集計」「SQL」で検索すればサンプルが出てきますよ
データベースは、InfluxDBです。
別途、コメントさせていただきましたが、次回からはもう少し詳細を書こうと思います。
コメント、ありがとうございました。
クロス集計。というキーワードも知らなかったので、参考になりました。ありがとうございました。
回答2件
あなたの回答
tips
プレビュー