問題タブ [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.
mysql - 購読者がx人を超えるブログの数を取得する
だから私はブログのリストとどのユーザーがどのブログにサブスクライブされているかを追跡するサブスクリプションレコードのリストを持っています。ブログの総数を知りたいのですが、少なくとも2人がブログを購読しています。与えられたテーブルのリストは次のとおりです。
これを解決するためにPHPで処理を行う必要がないため、1つのクエリのみを使用して生の数値を取得するためにいくつかのことを試みました。これがうまくいかなかった私の試みのいくつかです:
ただし、そのクエリを2つ以上のサブスクライブを持つブログのみを返すように制限すると、まだ理解できません。いつもお世話になっております。
mysql - 同じ条件で違う結果?
MySQL のドキュメントを読んでも、phpMyAdmin でのこれら 2 つのクエリの違いを説明できません。
--> 57059 件の結果が得られます
--> 73201 件の結果が得られます
異なる列を表示するだけで、クエリの結果の数がどのように異なるのでしょうか?
mysql - RAND()エイリアスを使用してHAVING句を使用する方法
重複を防ぐために一意のコードを生成しようとすると、HAVING句を使用して次のクエリを使用するため、エイリアスを使用できますが、重複キーエラーが発生します。
次のコードは機能せず、必要なものです。
https://stackoverflow.com/a/4382586
これを達成するためのより良い方法はありますか、それとも私のクエリに何か問題がありますか?
sql - BigQueryでアクティビティのない期間を見つける方法
BigQueryには、約40Mbのデータを含むある種のアクティビティのテーブルがあります。活動日は、フィールドの1つに保管されます(YYYY-MM-DD HH:MM:SS形式の文字列)。妥当な時間を実行している非アクティブの期間(事前定義されたしきい値を使用)を決定する方法を見つける必要があります。
私が作成したクエリはすでに1時間実行されています。ここにあります:
アイデアは次のとおりです。1。テーブルのデカート乗算をそれ自体で実行します(http_errorは値をほとんど変更しないフィールドであるため、トリックを実行します)2. date1>date23のペアのみを取得します。この最小の差がしきい値を超える場合は、選択を制限してください。
私が使用する実際のクエリは、無効なデータの修正によって少し負担になることを認めます(これにより追加の操作が追加されます)。しかし、私はこれを行うためのより良いアイデアが本当に必要です。他のアイデアを聞いてうれしいです
sql - SQL group by は最初の行のみを返します
「id」と「レイアウトプラン」の2つの列を含むテーブルがあります
同じレイアウトプランを持つすべての行を確認する必要があります
このクエリを使用します。
しかし、このクエリは最初の行のみを返しています。
同じレイアウトプランのグループをすべて表示したい。
ruby-on-rails - ユーザーがまだ応答していないリクエストの選択
私は heroku/ rails/ pgsql 9.1.6 を使用しており、本当に単純なクエリであるべきだと思われる壁に頭をぶつけています。
ユーザーがまだ応答していない最近の「リクエスト」を表示したい
試行 1 (heroku/pgsql にプッシュする前に動作します):
heroku にプッシュすると、そのクエリでエラーが発生します。
ActiveRecord::StatementInvalid: PGError: エラー: 集計は WHERE 句で許可されていません
試み2:「持っている」
StackOverflow で代わりに「Having」を試す必要があるというスレッドを見つけたので、次のように修正しました。
それは新しいエラーを生成しました。ActiveRecord::StatementInvalid: PGError: エラー:
列 "requests.id" は GROUP BY 句に指定するか、集計関数で使用する必要があります
試行 3:「グループ」
次に、そのクエリを次のように修正しました
これは実行されますが、値を返す必要があることがわかっている場合でも空のセットを返します。
最良の推測:
この時点での問題は 2 部分の has 句にあり、現在の形式では、応答していないユーザーを誤って除外していると思われます (したがって、常に空のセットになります)。
例
having("responses.user_id=? AND count(responses.id)=0", user_id)
:
元の埋め込み選択とは対照的に:
select count(responses.id)=0 WHERE response.user=?
しかし、応答していないユーザーを表示するには、having 句の正しい形式がどうあるべきかわかりません。
助けてくれてありがとう!
mysql - having-clause の最大カウント
ほとんどの場合、最初に登場した俳優を見つけなければなりません。
リサイタル(オペラ、俳優、キャラクター、出演順)
私はこの方法で試しました:
しかし、空のテーブルを返します。ありがとうございました。
sql-server - フィールドでSQLSumを実行し、group byセクションに別のフィールドを含めるにはどうすればよいですか?
私はこのようなテーブルを持っています:(Personal_IDは一意ですが、名前は一意ではなく、繰り返すことができることに注意してください)。
ここで行う必要があるのは、指定されたSourceIDに基づいて各人が行った購入数の合計を取得することです。そのため、次のような結果が得られsourceId = 4
ます。
そしてSourceID=2の場合
このために私はこのようなものを思いついた:
しかし、これは明らかに間違っています。ここで立ち往生しています。他のフィールドを追加するgroup-by clause
と結果が完全に異なり、追加しないと、このselectコマンドは機能しません。どうすればそのような結果を達成できますか?
sql - Oracle SQL - 標準の HAVING EVERY 回避策はありますか?
オラクルが HAVING EVERY 句をサポートしていないことを回避する方法を見つけるのに苦労しています。
次のスキーマを持つ、Production と Movie の 2 つのテーブルがあります。
ここで、「pid」は出版社 ID を表す整数、「mid」は映画 ID を表す整数、director は映画の監督の名前です。
私の目標は、ピーター・ジャクソンまたはベン・アフレックが監督した映画のみを公開した出版社のリストを (ID で) 取得することです。
これを達成するために、次のクエリを作成しました。
しかし、Oracle は HAVING EVERY をサポートしていないため、次のエラーしか表示されません。
監督は出版社が制作するすべての映画に適用する必要があるため、この条件を WHERE 句に移すことはできないと思います。
この障害を回避する方法はありますか? 「標準」と見なされるものはありますか?また (そしておそらくもっと重要なことに) Oracle が HAVING EVERY を実装しないことを選択したのはなぜですか?
mysql - 複数の Where 句を含む SQL
まず -- 似たようなタイトルの投稿を 7 ページほど読みましたが、自分の課題に適切な洞察を見つけることができませんでした
私のSQL:
次のエラー メッセージが表示されます: Invalid query: Unknown column 'location' in 'having clause'
HAVING の代わりに WHERE location = '2' にすると、正常に動作します [列が見つかります] (ただし、距離セレクターが必要です)。
これを倒す方法について何か提案はありますか?