No.1ベストアンサー
- 回答日時:
ん・・・動かないSQL文のように見えるのですが・・・
select句の後に指定された列はグループ関数が使われているか
group by句によるグループ化の基準として使われていなければなりません。
group by句によってグループ化された場合グループにつき1行の結果が返ってきます。
グループには複数の行が含まれる可能性があります。
その結果グループ数とデータ行数の不一致が起こり出力する事ができない状態になるため
グループ化の基準として使われない列1グループにつき1行を返すグループ化関数を適用しなければなりません。
select * from テーブル名 where age >= '40' GROUP BY gender
の場合genderはおそらく3行(nullがありえるため)か2行になると思いますがその他の列は40歳以上の人の人数分の行が出てくることになります。
それは出力のしようがありません。
ですのでこのSQL文は動くとは思えません。
ただ・・・DBMSが何かを補完する可能性がないわけではないですが・・・
No.3
- 回答日時:
GROUP BY句で指定されているのがgenderということで、やりたいことは「男性、女性、それぞれの人数を出したい。
」とかのSQLじゃないのでしょうか?その場合、
SELECT count(*) as num, gender テーブル名 where age >= '40' GROUP BY gender;
とかになるんじゃないでしょうか?
男女それぞれの年代までを知りたいのであればGROUP BY句にageが追加されるとかってことになると思います。
SELECT gender, age, count(*) as num テーブル名 where age >= '40' GROUP BY gender, age;
行いたい動作を書くことで、それが正しいかどうかも解かるのではないでしょうか。
izayoimizukiさんとseta_takahiroさんの書かれているように、動くかも知れないけどおかしいと思います。
No.2
- 回答日時:
普通は間違っていると思うのですが、データベースソフトによっては許可されていると思います。
たとえば、MySQLなら
http://dev.mysql.com/doc/refman/5.1/ja/group-by- …
にあるように、そういう文法を許すと思います。
(おそらく、上の使いかただと出力は不定だと思いますが)
たしか、Oracleでも使えたような気がします。
(自分は動作が良く分からなくなるので使いません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
select文でGROUP BYの正しい使い方
-
複数のレコードの値を取り出すには
-
sqlから多次元配列に要素を格納...
-
アラートでyes noを作りたいです。
-
insert1つの処理でもトランザ...
-
テーブルに入っているデータと...
-
Pro*Cの構文エラー
-
JAVA SQLServerException 列名 ...
-
Accessのテーブルへ複数の主キ...
-
【至急】MySQLのエラーを解消し...
-
MySQLにHTMLタグを挿入したい
-
<VB.NET>INSERT文でDBにデータ...
-
VBAをつかってクエリの情報を抽...
-
テキストボックスに入れた内容...
-
ループしてしまいます
-
php データ削除
-
実行時エラー3131 FROM 句の構...
-
mysqliを使ってデータベースを...
-
PHP初心者です。syntax error, ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
csvをDBへ読み込んだら、NULLが...
-
ヒアドキュメントでSQLを書く事...
-
カラムにデータがあるかないか...
-
出勤表の作り方
-
phpでテーブルを作る際変数によ...
-
OracleからAccessへのインポート
-
どちらが高速ですか?
-
エクセルをMysqlに格納
-
PHPでmySQLのテーブルを作成したい
-
MDB2エラーが対応出来ません。
-
SQLで返り値が空とでる
-
PHPでいいね機能を作りたいので...
-
データをDBからひっぱってき...
-
SQL Serverからのvarchar型のデ...
-
where文について
-
PEAR Pagerを利用してデータの...
-
PHPでフォームからデータDBに書...
-
日またぎの計算
おすすめ情報