問題タブ [aggregate-functions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - ORA-06502: PL/SQL: 数値または値のエラー: Oracle集計関数では文字列バッファが小さすぎます
こんばんは
クラッシュして上記のエラーが発生した定期的にテーブルにデータを入力するスクリプトがあります。奇妙なことに、本番システムで問題なく 3 か月近く実行されていたのに、先週突然クラッシュしました。私の知る限り、テーブルに変更はありません。
誰もこのようなことに遭遇したことがありますか?私が実装している集計関数と関係があると思います。しかし、最初はうまくいきました。
お願いします; エラーが発生すると思われる手順に開発したスクリプトの一部を添付してください。
手順の作成または置換 V1 は
- 宣言する
--
-- DEMO テーブルに入力する手順
/
集約関数、commaencap_concat (コンマでカプセル化)、or_concat (or で連結)、および semic_concat (セミコロンで連結)。
使用される残りのテーブルはすべてメイン テーブル DEMO にリンクされています。
列のサイズを確認しましたが、問題ないようです。SELECT ステートメントを単独で実行しようとしましたが、テーブルにデータを入力せずに同じエラーが発生します。
手がかりはありますか?
予想通りのご支援、誠にありがとうございました。
APC のご協力に感謝します。特に行タイプとデバッグのアドバイス。すべての列を相互にチェックし、サイズが 4000 バイトから 4000 バイト未満の列を作成しましたが、それでも同じエラー メッセージが表示されます。
私が試した SELECT ステートメントは、プロシージャ内にある集計関数の 1 つを使用していました。
そして、文字列バッファが小さすぎるという同じエラーが発生しました。しかし、ステートメントにgroup byを追加すると、うまくいきました。
プロシージャ内のそのようなステートメントのすべての出現を交換しようとしましたが、それでも同じエラーが発生します。もう一度ありがとう; まだ取り組んでいます。
sql - MySQL-左結合を最初に発生する日時に制限しますか?
簡略化されたテーブル構造(現時点ではテーブルをマージできません):
TableA:
表B:
私がやりたいのは、タスクが完了するまでにかかった時間を決定することです。
結合パラメータは次のようになります
問題は、dts_completedの後に複数の日時が発生する可能性があることです。
tableA-datetimeの後に発生する最初のtableB-datetimeのみを返す結合を作成するにはどうすればよいですか?
sql - 個別の統計を取得するための SQL
テーブル X にデータがあるとします。
各 ID に割り当てられている数を知りたいです。私は使用することができます:
X group by id から id, count(distinct assign) を選択し、count(distinct assign)desc で並べ替えます。
それは私に何かを与えるでしょう:
私の質問は、すべての割り当てカウントの平均を取得するにはどうすればよいですか?
さらに、今私はチームごとのエバージを知りたいと思っています。だから私は次のようなものを取得したい:
前もって感謝します!
mysql - groupbyおよびmaxでのMySQLクエリの問題
私のテーブル構造は(id、cluster、qid、priority)です。各クラスターの優先度の最大値を表示する方法を見つけようとしています。クラスター1の優先度が100、102、105であるとします。105を含むレコードを表示したいのですが。助けてください。
php - 総売上でグループ化された製品を取得しますか?
次の MySQL テーブルがあります。
今日販売した製品をphpを使用して取得し、販売番号と販売日ごとにグループ化します(可能な場合)、出力の例:
ありがとう
sql - 複数の結果を単一のフィールドに結合したサブクエリ?
これらのテーブルがあり、そこからブラウザに検索結果を表示する必要があるとします。
次のような出力が必要です。
重要な部分は、各項目タイプが画面の戻り値で 1 つのレコード/行のみを取得することです。過去に、同じアイテムの複数の行を返し、スクリプト言語を使用して出力を制限することで、これを達成しました。ただし、これにより、UI が過度に複雑になり、ルーピーになります。ですから、表示する行と同じ数のレコードだけをデータベースに吐き出させることができると思っています。
この例は、項目から (sale テーブルを介して) コンテナーに到達するために 2 つの結合が必要なため、少し極端かもしれません。
これを出力するクエリの例だけでもうれしいです:
サブクエリで返すことができる結果は 1 つだけなので、これを行う方法がわかりません。
sql - SQL - グループ化されたエントリをカウントし、日付ごとにグループ化された最大値を取得します
再生されたすべてのトラックを再生日時と共に一列に保持する sqlite テーブルがあります。ここで、日ごとにグループ化されたすべてのアーティストの再生をカウントし、1 日あたりの最大再生カウントを持つアーティストを見つけます。このクエリを使用しました
この結果を得るために
次に、この仮想テーブルにクエリを実行しようとしましたが、アーティスト名で常に誤った結果が得られます。
この結果
でもアーティスト名は嘘。日ごとにグループ化することで、最後のアーティストを使用するだけだと思います。INNER JOIN や GROUP BY などをテストしました...試行錯誤を繰り返して、同様の問題の例を読みましたが、常に列名などで迷子になります(少し燃え尽きています)
誰かが私にヒントをくれることを願っています。ありがとうございます
mysql - MySQLでNULL値を数える方法は?
たとえば、MySQL データベースで NULL であるすべての値を見つける方法を知りたいのですが、まだ平均を取得していないすべてのユーザーを表示しようとしています。
これがMySQLコードです。
sql - 簡単なSQLグループバイの質問. (私は新しいです)
私はSQLが初めてなので、これが簡単な答えになることを願っています。
Students テーブル (studentID、name、statusID) と StudentsClasses テーブル (studentID、classID) があります。上記のテーブルから、次の列を返すビューを作成するように依頼されました。
classID: (グループ化)
各クラスの生徒数 AS 生徒
statusID = 1 の学生数 As Actives
statusID = 2 の生徒数
classID列で簡単にグループ化して学生の数を数えることはできますが、count関数に特定の行だけを数えるように指示できるとは思いません。where または having 句を追加するとすぐに、他の列でカウントする必要があるレコードが失われます。いくつかの異なるクエリを作成して、それぞれの結果を結合する必要がありますか?
ご協力いただきありがとうございます。
-デビッド
mysql - 別のテーブルからのmysql更新テーブル
別のテーブルの別のフィールドの合計から、あるテーブルのフィールドを更新しようとしています。
company_tbl(PRIMARY、companySize、companyName)location_tbl(PRIMARY、companyID、locationSize、locationName)
2つのテーブルはcompany_tbl.PRIMARY=location_tbl.companyIDでリンクされています
「グループ関数の無効な使用」というエラーが発生します
会社は複数の場所を持つことができます
私がやりたいことは可能ですか?特定の会社に属する場所の合計を取得し、その合計でcompanySizeを更新したいと思います。
ありがとう!