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

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

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

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

Q&A

解決済

3回答

1931閲覧

mySQLの使い方

benkyouchuu

総合スコア26

MySQL

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

0グッド

0クリップ

投稿2015/05/17 04:31

編集2015/05/17 04:39

mySQLについて聞きたいです。
memberテーブルに主キーと名前と年齢と出身地のカラムがあります。今回、出身地が”東京都”で年齢が20~25までのデータの数を取得したいです。
select
count(*)
from
member
where
shussinn="東京都"
and between 20 and 25

としたのですが、うまくいきません。正しい書き方、解説をお願いします。

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

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

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

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

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

guest

回答3

0

ベストアンサー

他の方も指摘されていますが between の使い方がおかしいです。以下のようにフィールドを指定する必要があります。

lang

1select count(*) from member where shussinn="東京都" and age between 20 and 25;

SQL では文字列にはシングルクオートを使います。MySQL のデフォ設定だとダブルクオートでも可能ですが、
他のRDBMS、あるいは MySQL でも設定によってはシングルクオートしか使えません。

lang

1set sql_mode = ANSI_QUOTES; 2select count(*) from member where shussinn="東京都" and age between 20 and 25; 3/* ERROR 1054 (42S22): Unknown column '東京都' in 'where clause' */

特別な理由がない限りシングルクオートを使っておくといいでしょう。

lang

1select count(*) from member where shussinn='東京都' and age between 20 and 25;

MySQL の (シングル|ダブル|バック)クオートについては次のような奇妙な話も聞いたことがあります。

MySQL - select文でorder by句が正しく効かない場合がある - Qiita

これは、ダブルクオートの意味が、SQL のコンテキストによって意味が異なる例です(列のエイリアスだと識別子のクオート、order by だと文字列リテラル)。

余計な問題に出くわさないためにも、なるべく MySQL での標準的な記法に揃えておくのが吉です。

投稿2015/05/17 05:09

編集2015/05/17 05:15
ngyuki

総合スコア4514

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

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

0

こんにちは。

主キーのカラム名を id 、年齢のカラム名を age として

lang

1SELECT COUNT(id) FROM member 2 WHERE 3 shussinn="東京都" 4 AND 5 age BETWEEN 20 and 25;

でいかがでしょうか?

投稿2015/05/17 04:42

jun68ykt

総合スコア9058

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

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

0

lang

1and between 20 and 25

lang

1and age between 20 and 25

ですかね。

投稿2015/05/17 04:42

hyper-drums-ko

総合スコア736

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問