問題タブ [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.

0 投票する
7 に答える
3661 参照

sql - MINおよびAVGを使用したSQL集計関数

データのゼロを省略するにはどうすればよいですか?

たとえば、MIN関数を使用しますか?0以外の最小値をお願いします。

どうすれば次に大きいものを手に入れることができますか?

また、AVG関数を使用している場合、同じ方法で0をスキップする一般的な方法はありますか?問題は、私が継承したテーブルがNULL値を使用していないが、すべての財務データに対して0.00を持っていることです。

ありがとう、

0 投票する
1 に答える
6283 参照

oracle - Oracle 10g PL/SQL でシーケンスの MINVALUE を取得するにはどうすればよいですか?

シーケンスの値をテーブルの主キーの最大値に設定する PL/SQL スクリプトを作成しました。

ただし、シーケンスの MINVALUE が最大主キーより大きい場合、エラーが発生します。

ORA-08004: シーケンスMBR_SEQ.NEXTVALがMINVALUEを下回り、インスタンス化できません

ORA-06512: 10行目

「increment_amount だけシーケンスを増やしますが、MINVALUE を下回らないようにする」と言う最も簡単な方法は何ですか?

0 投票する
4 に答える
86525 参照

mysql - 集計関数を使用してMySQLクエリでグループ化されたレコードの最初と最後のレコードをフェッチするにはどうすればよいですか?

「グループ化された」レコードの最初と最後のレコードをフェッチしようとしています。
もっと正確に言えば、私はこのようなクエリを実行しています

しかし、グループの最初と最後のレコードを取得したいと思います。たくさんのリクエストをすることでそれを行うことができましたが、私はかなり大きなテーブルを持っています。

MySQLでこれを行う(可能であれば処理時間が短い)方法はありますか?

0 投票する
2 に答える
19253 参照

django - Djangoの関連モデルで注釈付きのCount()で並べ替える方法

Djangoで食品ロギングデータベースを構築していますが、クエリ関連の問題があります。

私は、消費モデルを介してM2Mフィールドの「消費者」を介してユーザーモデルに接続された食品モデルを(とりわけ)含めるようにモデルを設定しました。Foodモデルは食品料理を記述し、Consumptionモデルはユーザーの食品の消費量(日付、量など)を記述します。

そのユーザーのConsumptionテーブルにFoodオブジェクトが表示された回数(ユーザーが食べ物を消費した回数)順に並べられたすべてのFoodオブジェクトを返すクエリを作成したいと思います。

私は次の行で何かを試しています:

ただし、これはもちろん、ユーザーに関連付けられているオブジェクトだけでなく、Foodオブジェクトに関連するすべてのConsumptionオブジェクトをカウントします。モデルを変更する必要がありますか、それともクエリで明らかな何かが欠落しているだけですか?

これはかなりタイムクリティカルな操作であり(特に、フロントエンドのオートコンプリートフィールドに入力するために使用されます)、Foodテーブルには数千のエントリがあるため、データベース側ではなく、データベース側で並べ替えを行います。ブルートフォースメソッドを実行し、次のことを実行して結果を繰り返します。

次に、Pythonソートを使用してそれらをソートします。ユーザーベースが増えるにつれて、この方法はあまり拡張できないと思います。データベースは、最初から可能な限り将来にわたって利用できるように設計したいと思います。

何か案は?

0 投票する
5 に答える
7163 参照

sql - ビット単位のグループ関数を実行することは可能ですか?

テーブルにビット単位のフラグを含むフィールドがあります。例として、3つのフラグがあるとしましょう。4 => read, 2 => write, 1 => executeテーブルは次のようになります*

任意のレコードに特定のフラグが設定されている(例:書き込み)すべてのユーザーを見つけることに興味があります。1つのクエリでこれを行うために、すべてのユーザーのアクセス許可をORすると、ユーザーのアクセス許可の「合計」である単一の値が得られると考えました。

*私の実際のテーブルは、ファイルやファイルのパーミッションとは関係ありません。

これを1つのステートメントで実行する方法はありますか?私の見方では、GROUPBYを使用した通常の集計関数と非常によく似ています。

...しかし、明らかに、SUMの代わりにいくつかの魔法の「ビット単位」関数があります。誰かそのようなことを知っていますか?

(ボーナスポイントについては、オラクルで機能しますか?)

0 投票する
3 に答える
925 参照

sql-server-2005 - SQL Server 2005 での集計データの "インデックス作成" (別名テーブルの維持)

システムのパフォーマンス データを保持するテーブルがあります。各レコードは、いくつかの重要なメソッドに対して行われた呼び出しであり、メソッド名、その期間、およびトークンで構成されています。システムへの各要求には一意のトークンが与えられるため、すべての同じトークンを持つレコードは同じリクエストです。例:

Token と CallName でグループ化された集計データに興味があります。たとえば、次のようになります。

現在、このテーブルは非常に大きくなる可能性があり、各クエリの上位数レコードのみに関心があるため、これらのクエリの両方にページングを実装しました。問題は、これらのクエリには集計関数が含まれているため、SQL サーバーが最終的にテーブル スキャンを実行することです。

確かに他の人は以前にこの問題を抱えていましたか?

ここで本当に必要なのは、トークンでグループ化された SUM(Duration) の「インデックス」です。つまり、次のようなことができるテーブルです。

  • これは本当に悪い考えですか?
  • もしそうなら、より良い方法はありますか?
  • これを行う最良の方法は何ですか?INSERT / UPDATE / DELETE (古い値と変更されたデータに基づいて集計値を更新する場所) でトリガーしますか、またはこのテーブルを更新するときに「インデックス」を手動で更新する方がよいでしょうか?

トリガーは私がこれまで思いついた最良の解決策ですが、これがデッドロック/一貫性の悪夢であることはすでにわかっています! :-S

0 投票する
3 に答える
1780 参照

sql - すべての列を含む TSQL Group By

次のようなことを行う TSQL クエリがあります。

結果の出力は次のとおりです。

私がやりたいことは、結果に含まれるすべての製品を取得することです。product テーブルで LEFT JOIN を実行しようとしましたが、混乱するだけです。

だから私は私の出力がこのようなものであることを望みます。

これを行う方法はありますか?

0 投票する
2 に答える
454 参照

sql-server - 中央値の計算方法は?

一連のデータの中央値を計算する必要があるため、一時テーブルを作成し、オンラインでいくつかの記事をフォローしようとしましたが、成功しませんでした。これが私が取り組んでいるものです:

平均はうまく機能し、今は中央値が必要です。

0 投票する
5 に答える
13385 参照

c# - LINQ を使用した複数の SUM

次のようなループがあります。複数の SUM を使用して同じことを行うことはできますか?

0 投票する
2 に答える
8524 参照

sql - TSQL: COUNT(*) で集計関数 AVG を実行して、1 日の最も忙しい時間を見つけることはできません

ログ データを保持する SQL Server テーブルを考えてみましょう。重要な部分は次のとおりです。

ここでのクエリは、1 日の時間ごとの訪問数の分布を見つけることに関するものです。特定の日付範囲における 1 時間の平均訪問数の分布を確認したいと考えています。訪問サンプル

クエリの結果は次のようになります。

意図は、次のようなクエリを書くことです:

ただし、これは有効なクエリではありません。

集計またはサブクエリを含む式に対して集計関数を実行することはできません。

質問:平均合計を収集するには、このクエリをどのように書き直しますか (つまりAVG(COUNT(*))、1 時間の代わりに?

このクエリの結果が、1 日の最も忙しい時間を知りたいPHBに渡されると想像してください。

  • SQL Server 2005 以降