MySQLデータベースのクエリ機能を使用する際に、グループ関数の使用が無効である問題の解決方法
<スパン MySQLデータベースを使用していると、しばしばエラーに遭遇します。Invalid use of group function, これは、クエリの結果が参照されていない、または結果を受け取る変数のデータ型と一致しない場合、グループ関数が正しく使用されていないことを意味します。したがって、このエラーが発生したときは、まず、この2点に問題がないかどうか考えてみてください。
<スパン コードの例
-- 元のコード
デリミタ $
CREATE PROCEDURE test_1(INOUT n DOUBLE)
BEGIN
SELECT cou.couName,AVG(s.score)です。
FROM course cou,score s
WHERE cou.couName='masql' AND cou.examTime='2014-04-04' AND s.courseId=cou.id.WHERE couName='masql' AND cou.examTime='2014-04-04' AND s.courseId=cou.id;
SELECT n;
SET n=AVG(s.score)とする。
END $.
SET @n=0.00;
CALL test_1(@n); -- クエリが未知の結果を参照しているため、プロンプトが表示されます。
グループ関数の使用は無効です。
SELECT @n;
<スパン
-- 修正コード
デリミタ $
CREATE PROCEDURE test_2(INOUT n DOUBLE)
BEGIN
SELECT cou.couName,AVG(s.score)です。
FROM course cou,score s
WHERE cou.couName='masql' AND cou.examTime='2014-04-04' AND s.courseId=cou.id.WHERE couName='masql' AND cou.examTime='2014-04-04' AND s.courseId=cou.id;
SELECT n;
SET n=(SELECT AVG(s.score))
FROM course cou,score s
WHERE cou.couName='masql' AND cou.examTime='2014-04-04' AND s.courseId=cou.id );
END $.
SET @n=0.00;
CALL test_2(@n); -- 結果正常
SELECT @n;
関連
-
mysql reports Access denied; you need (at least one of) SUPER privilege(s) for this operation
-
Hibernateでhibernate.propertiesが見つからない問題とデータベース方言の更新の問題
-
解決方法 テーブルの定義が正しくありません。自動列は1つだけで、キーとして定義する必要があります。
-
SQL SERVER データベース SELECT INTO および INSERT INTO の使用法(テンポラリテーブルへのデータ挿入を含む)
-
mongodbの更新操作の更新
-
MongoDBコマンド
-
ORA-06550 "の解決策。1 行目、7 列目"
-
ORA-30926: ソース・テーブルの安定した行のセットを取得できませんか?
-
ORA-65096 無効な共通ユーザー名またはロール名
-
Linuxでmysql-5.7.30をインストールするための詳細な手順
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
親行が削除または更新できない: 外部キー制約に失敗 解決策
-
2021MySql-8.0.26インストール詳細チュートリアル(ベビーシッターレベル)
-
unixODBC:データソース名が見つからない、デフォルトドライバが指定されていないに関する質問
-
ERROR 1046 (3D000)の解決策です。MySQLでアカウント削除時にデータベースが選択されない問題
-
SocketTimeoutExceptionが発生しました。読み取りがタイムアウトした問題のトラブルシューティング
-
EF Exception Inquiry (エンティティオブジェクトは、IEntityChangeTrackerの複数のインスタンスから参照できません。)...
-
IEntityChangeTracker の複数のインスタンスからエンティティオブジェクトを参照できない場合の対処法
-
Postgresql でテーブル "t" の FROM 句の項目が見つからない。
-
アプリケーションから DB2 SQL Error が報告され続けます。SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=4.17.29
-
MySqlエラー解析'where節'の未知の列'xxx'