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

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

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

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

SQL

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

解決済

SQLで合計から割合を求めたい

eoi
eoi

総合スコア1

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

SQL

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1回答

0評価

1クリップ

312閲覧

投稿2022/01/05 14:18

PythonのIDLEからSqlite3を使っています。
青,黄,赤の3色から好きな色選んでもらうHTMLのWEBベースのアンケート調査をしています。
アンケートを答えた人数から,各色の好きな人数の割合(%)を求めたいのですが,どなたか教えていただけますでしょうか?

割合(%)にしたい部分の表示は,現在人数の表示になっています。

from

import sqlite3 @route('/',method='get') def index_home(): return indexform #入力画面を呼び出す @route('/',method='post') def index_input(): #入力された値(出席番号, 氏名, 色)を取得 id = request.forms.id name = request.forms.name color = request.forms.fcolor #データベースに接続して入力された値をデータベースに入力 conn = sqlite3.connect('colordb.sqlite3') cur = conn.cursor() cur.execute('insert into fc values(?,?,?)', (id, name, color)) conn.commit() conn.close() return indexform #次の入力を促すために入力画面を呼び出す #入力画面 indexform = ''' <form action='/' method='post'> <p>好きな色を集計します.</p> <p>出席番号と氏名を入力後半角英数字でもれなく入力し,送信ボタンを押してください.</p> <p>出席番号<input type='text' name='id'></p> <p>氏名(ローマ字)<input type='text' name='name'></p> <p>次のうちから,好きな色を選んでください.</p> <p><input type='radio'checked name='fcolor' value='1'>青 <input type='radio' name='fcolor' value='2'>黄 <input type='radio' name='fcolor' value='3'>赤</p> <p><input type='submit' value='送信'></p> <a href='/result'>集計結果</a> </form> ''' #結果 @route('/result') def result(): #データベースに接続 conn = sqlite3.connect('colordb.sqlite3') cur = conn.cursor() cur.execute('select count(color) from fc where color=1') blue = cur.fetchone()[0] cur.execute('select count(color) from fc where color=2') yellow = cur.fetchone()[0] cur.execute('select count(color) from fc where color=3') red = cur.fetchone()[0] conn.close() return '''<p> 集計結果 </p> <p> 青が好きな人は{0}人です.</p> <p> 黄が好きな人は{1}人です.</p> <p> 赤が好きな人は{2}人です.</p> <p><a href=\'/\'>入力画面に戻る</a></p>'''.format(blue, yellow, red) #テーブルの作成(すでに存在するなら削除して,作成) @route('/create') def create(): conn = sqlite3.connect('colordb.sqlite3') cur = conn.cursor() cur.execute('drop table if exists fc') #すでに存在するなら削除 cur.execute('''create table fc (id integer not null, name text not null, color integer, primary key (id))''') conn.commit() conn.close() return '<p>テーブルを作成しました</p>' run(host='0.0.0.0',port=80)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori

2022/01/05 17:32

アンケートに答えた人の人数を数えて、割合を計算すれば良いと思いますが、どの辺が分からないのでしょうか?

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

SQL

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。