問題タブ [having]
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 - mysql の WHERE 句でエイリアスを使用できますか?
WHERE 句でエイリアスを使用する必要がありますが、不明な列であると表示され続けます。この問題を回避する方法はありますか? x より高い評価を持つレコードを選択する必要があります。評価は次のエイリアスとして計算されます。
sql - SQLのHAVINGとWHEREの違いは何ですか?
HAVING
とWHERE
はどう違いSQL SELECT
ますか?
編集:リンクに重要な情報が含まれているため、スティーブンの回答を正しいものとしてマークしました:
GROUP BY
が使用されていない場合は、句HAVING
のように動作しますWHERE
私が見た状況はWHERE
そうではなくGROUP BY
、私の混乱が始まった場所です. もちろん、これを知るまで、質問で指定することはできません。
mysql - MySQL - WHERE 句で COUNT(*) を使用する
MySQLで次のことを達成しようとしています(pseudo
コードを参照)
リソースの無駄のように見えるため、WHERE 句で (SELECT...) を使用せずにこれを行う方法はありますか。
sql - SQLコードの「having」条件をLinqToSQLまたはLinqToEntitesに変換する方法は?
次の SQL コードを Linq To SQL または Linq To Entites に変換する方法を教えてください。
正しい SQL コードは次のとおりです。
Collect から CollectId,url,userid,pubtime を選択 url,collectid,userid,pubtime で pubtime >= (collect d から max(pubtime) を選択、ここで d.url = collect.url ) Collect.pubtime desc で並べ替える
データベース テーブル スクリプトは次のとおりです。
存在する場合 (select * from sysobjects where id = OBJECT_ID('[Collect]') and OBJECTPROPERTY(id, 'IsUserTable') = 1) DROP TABLE [Collect]
CREATE TABLE [Collect] ( [CollectId] [int] IDENTITY (1, 1) NOT NULL, [Url] [nvarchar] (200) NULL, [UserId] [nvarchar] (50) NULL, [PubTime] [datetime] NULL )
ALTER TABLE [Collect] WITH NOCHECK ADD CONSTRAINT [PK_Collect] PRIMARY KEY NONCLUSTERED ( [CollectId] ) SET IDENTITY_INSERT [Collect] ON
INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES ( 1,'www.sohu.com','Mike','2008-10-10 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES ( 2,'www.echina365.com','Lily','2008-10-15 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES ( 3,'www.php.com','Tom','2008-10-20 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES ( 4,'www.echina365.com','YaoMing','2008-10-23 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES ( 5,'www.echina365.com','Mike','2008-10-25 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) VALUES ( 6,'www.sohu.com','Jack','2008-10-26 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) 値 (7,'www.echina365.com','Tracy',' 2008-11-2 0:00:00') INSERT [Collect] ([CollectId],[Url],[UserId],[PubTime]) 値 (8,'www.php.com','YaoMing',' 2008-11-5 0:00:00')
SET IDENTITY_INSERT [収集] OFF
hibernate - HibernateCriteriaAPI-HAVING句の回避策
Hibernate Criteria APIを使用して特定の値の合計を取得するクエリを作成しました。次に、その合計が特定の値以上の行に結果を制限できるようにする必要があります。
通常、これを行うためにSQLでHAVING句を使用しますが、CriteriaAPIは現時点ではそれをサポートしていないようです。
生のSQLでは、これが私が行う必要があることです。
私が考えた回避策の1つは、FROM句でこの合計値を取得するサブクエリを使用し、外部クエリを使用してWHERE句を使用して制限することです。
したがって、生のSQLでは次のようになります。
Criteria APIを使用してこれを作成する方法、またはHAVINGの問題を解決するために使用できるその他の提案/回避策について、誰かが私に正しい方向を示すことができますか?
これは、上記の例で使用したCriteriaAPIコードです。
ありがとう!
sql - MySQL WHERE 句でエイリアス化された列を使用する方法は?
次のような MySQL クエリがあります。
結果を Occurrences>0 の行に制限したいと考えています。これは私には非常に簡単に思えますが、うまくいかないようです。WHERE や HAVING に関係なく、この制限を追加しようとすると、NO ROWS が返されます。テーブルに返されるべきデータがあることは確かです。私がやっていることを達成する方法を知っている人はいますか?
私はこれを試しましたが、まだうまくいきません。それでもうまくいかない理由はありますか?
sql - ネストされた group-by/having 句との複雑な結合?
最終的には、それぞれ「曲」が 1 つしかない「アルバム」レコードを含む「インポート」レコードのリストが必要です。
これは私が今使っているものです:
ネストされた select (join を使用) は非常に高速ですが、外部の "in" 句は非常に遅いです。
クエリ全体を単一の (ネストなしの) 結合にしようとしましたが、group/having 句で問題が発生しました。私ができる最善のことは、重複を含む「インポート」レコードのリストでしたが、これは受け入れられません。
このクエリを構成するよりエレガントな方法はありますか?
sql - 大きなテーブルの「カウント」よりも速いものはありますか?
これが私のクエリです:
テーブルの文語には、wordid、文 ID、および主キー ID の 3 つのフィールドが含まれています。35万行以上あります。このクエリにはなんと 85 秒かかりますが、100 を超えるセンテンス ID を持つすべてのワード ID を見つけるためのより高速な方法があるのではないかと考えています (願っていますか、祈っていますか?)。
select count の部分を取り出して、'having count(1)' を実行してみましたが、どちらも速度が上がりません。
あなたが貸してくれる助けをいただければ幸いです。ありがとう!
mysql - 貢献度の低いグループが「その他」フィールドに含まれる「その他」によるグループ化 - MySQL
金銭的価値が関連付けられているテーブル内の項目を GROUP BY したいと考えています。これはパーセンテージで計算できますが、リスト内の項目が多すぎることがよくあります (多すぎてグラフなどで役に立ちません)。そのため、全体への貢献度が 5% 未満のアイテムを「その他」のグループに入れたいと考えています。何かご意見は?
ありがとうございます (MySQL > v5 を使用)