問題タブ [having-clause]

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 投票する
2 に答える
684 参照

mysql - サブクエリを書き換えると結合に節がありますか?

このような列を持つテーブルがあります。

サイト、染色体、ストランド。

サイトと染色体のペアは、複数の鎖を持つことができますが、一意でなければなりません。データをロードする前に、一部のサイトに複数の染色体があることがわかりました。これは明らかにエラーです。私は、複数の染色体を持つサイトであるエラーを特定しようとしていました。私はそれについて考えましたが、適切なSQLを思い付くことができませんでした。そこで、問題を分割しました。最初に、個別のレコードを選択するテーブルを作成します。

次に、これにより複数の染色体を持つサイトを見つけることができました。

うまくいきました。次に、元のテーブルからエラーのすべての情報を確認しようとして、これを行いました。

次に、列がすべてインデックス化されていても、このサブクエリは遅すぎました。

クエリを結合として書き直そうとしましたが、持っていると難しくなります。私を助けてください。

===================

この質問に答えてくれた皆さん、ありがとう。私のデータは次のようになります。

この場合、N111 は問題ありませんが、N112 は染色体データが 2 つあるためエラーです。2番目の回答のサブクエリは、ストランドのためにN111とN112を選択しましたが、これは私が抱えていたのと同じ問題でした。複数の列を持つ関数によるグループ化は、私が推測したものとは異なりました。ただし、提案された回答は、group by がどのように機能するかの手がかりを与えてくれたので、少し変更して機能させることができました。2 つの答えは同じ結果になります。改めまして、ありがとうございます。

サイト

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

sql-server - NULL値を持つColdFusionMsSQLHAVING SUM()

これをCF9とMsSQL2005でテストしました

次に、Ms SQL Server ManagementStudioExpressでクエリを実行します

結果は

代替テキスト

次に、cfqueryを使用してみました

結果は

代替テキスト 代替テキスト

編集(ここから開始):デバッガーまで下にスクロールしますこれがあります

代替テキスト

その赤い領域は、qryHavingSum_4が実行され、レコードが0であることを示していますが、例外セクションではqryHavingSum_4が未定義です(<cfdump var="#qryHavingSum_4#">編集(ここで終了)

qryHavingSum_4をに変更した場合

結果は

代替テキスト

次に、他の演算子を使用して( ISNULLなしSUM(B_INT)で)および(ISNULLなしで)変更しようとしましたが、機能します。HAVING SUM(B_INT)> >= < <= <> !=

=上記のwithクエリをCFで使用できないのはなぜですか?CFbugsですか?

ありがとうございました

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

sql-server-2008 - SQL Select-Selectにフィールドを追加すると、結果が変わります

私はこのSQLの問題に困惑しており、誰かが簡単に選ぶことができると思います。

ランク付けされたアイテムのいくつかの日次リストを表す行を含むテーブルがあります。関連するフィールドは次のとおりです:ID、ListID、ItemID、ItemName、ItemRank、Date。

次のように、昨日リストにあったが今日はリストになかったアイテム(リスト外のアイテム)を返すクエリがあります。

基本的に、最大日が昨日であるレコードを探しています。これは正常に機能し、各アイテムが以前にリストに含まれていた日数を表示します(ただし、必ずしも連続している必要はありませんが、現時点では問題ありません)。

問題は、昨日のランクを確認するためにランキングを追加しようとしたときです。私は次のことを試しました:

これにより、前のクエリよりもはるかに多くのレコードが返されるため、何かが正しくありません。同じ数のレコードが必要ですが、ランキングが含まれています。サブクエリを使用して自己結合を実行し、ItemIDが昨日発生したが今日は発生しないレコードを取得することでランクを取得できますが、カウントを取得する方法がわかりません。

これについての助けを事前に感謝します。

========解決済み==============

基本的に、私が行ったのは、両方の日に表示されるすべてのアイテムを検索し、昨日表示されたが両方の日に表示されたアイテムのセットに含まれていないアイテムを検索するサブクエリを作成することでした。その後、集計関数とグループ化を正しく行うことができました。これが必要以上に複雑であっても驚かないでしょうが、私はそれを理解しており、必要に応じて変更することができ、パフォーマンスは問題ではないようです。

もう一度ありがとう!

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

sql - HAVING 演算子を使用した単純なクエリ

次のように、Employee と DepartmentId の 2 つの列で構成される Employees のテーブルがあります。

簡単なクエリで 2 人以上の従業員がいる部門を選択したいと考えています。次のことを思いつきました:

しかし、実行中に無効な列名 (Quantity) について不平を言います。集計関数を 2 回使用する (count() を選択 ... count() を使用する) ことは正しくないと確信しています。何か不足していますか?ps「簡単な」解決策は私が推測する

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

mysql - 「WHEREXXXNOTIN」のような「NOTHAVING」構文はありますか?

  1. 将来削除される行のID番号を取得するクエリがいくつかあります。
  2. 行番号は文字列に入れられ、以下のクエリ(「2」が表示されている場所)に配置されます。
  3. 結果に行を無視させたい(すでに削除されているかのように)。

    /li>

「WHERE」の行を「HAVING」に置き換える必要があると思いますが、「NOTHAVING」の構文が見つかりません。

このクエリの現在の記述方法では、位置の最大IDがWHERE句にリストされている場合、T1.positionの行は返されません。

WHERE句にリストされているIDを持つ行を見落としながら、このクエリを取得してT1.positionの最大IDを取得するにはどうすればよいですか?

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

group-by - MongoDB GROUP BY で HAVING を実行する正しい方法は何ですか?

SQLでのこのクエリは何ですか(重複を見つけるため):

MongoDB で次の簡単なクエリを実行しました。

結果セットを調べる単純な Javascript ループを追加し、次のように、カウント > 1 のすべてのフィールドを検索するフィルターを実行しました。

クライアントで JavaScript コードを使用する以外に、これを行うためのより良い方法はありますか? これが最良/最も簡単な方法である場合は、そうであると言ってください。この質問は誰かを助けるでしょう:)

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

postgresql - PostgreSQL:句が期待どおりに機能しない

SQLテーブルに2つの肯定的な評価を持つユーザーDE9013があります。

そして、公正な評価と良い評価の合計は、予想どおり4つです。

私の質問は次のとおりです。30を超える完了したゲームをプレイし、評価(fair + nice)が30を超えるすべてのユーザーを検索しようとしている、以下のリストでユーザー9013を取得するのはなぜですか?

CentOS 5.7/64ビットでPostgreSQL8.4.7を使用する

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

sql - SQLでのWHEREとHAVINGの違い

重複の可能性:
SQL:HAVINGとWHEREの違いは何ですか?

WHEREとについていろいろな議論を見てきましたHAVING。まだ質問があります。HAVING集計を検討する場合にのみ使用されますか、それともより一般的な用語で使用できますか。クエリでフィールドを作成またはエイリアス化した場合はいつでも使用できますか?WHERE可能な場合は常にそれを使用する必要があることを私は知っています。

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

mysql - userid = userid であるテーブルを別のテーブルに結合するにはどうすればよいですか?

私は、ユーザーが自分のワークステーションで各バッチに取り組んだ合計時間、完了した推定作業の合計、ユーザーに支払われた金額、ユーザーが今年 1 日で何回失敗したかを調べています。これらすべてを 1 つのクエリに結合できれば、それを Excel で使用して、ピボット テーブルなどで適切に書式設定できます。

編集:これは複数のクエリでのみ実行できることに気付いたので、スコープをこれに絞り込みました:

クロス結合が問題の原因でした。

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

mysql - Mysql は、グループごとの行を制限します 奇妙な結果

それぞれの最新の 4 つの日付を取得したいと考えていましたsymbolidここでコードを次のように調整しました。

次の結果が得られます。

明らかな疑問は、なぜ ごとに 3 行しか得られないのsymbolidか、そしてなぜ 1、3、5 の番号が付けられているのかということです。いくつかの詳細:

  1. インデックスを強制する場合としない場合の両方を試してみましたが (ここで見られるように)、両方の方法で同じ結果が得られました。
  2. 日付は正しいです。つまり、リストには ごとsymbolidに上位 3 つの日付が正しく表示されますが、row_number の値はずれています
  3. 「having」ステートメントを使用しない場合、行番号は正しいです。つまり、最新の日付は 1、次に新しい日付は 2 などです。

明らかに、row_number計算フィールドは「having」句の影響を受けていますが、修正方法がわかりません。

「having」を「having row_number < 7」(6 は 5 と同じ) に変更できることはわかっていますが、それは非常に見苦しく、「動作」させるにはどうすればよいか知りたいと思います。