特定のフィールドが同じフィールドの最大値の半分を超える値を持つ行を選択する方法があるかどうか疑問に思っています。
たとえば、rate がエイリアスである 3 つのフィールド (id、name、rate) を持つ結果セットがあるとします。最大レートがそうである場合、クエリは(の半分である)70
すべての行を返す必要があります。rate > 35
35
70
何かのようなもの:
SELECT * FROM (A heavy and large select)as r WHERE r.rate > MAX(rate) / 2
最大レートがわからないので、単一のクエリで実行したいことに注意してください。
update
main select は非常に重いクエリであり、 rate はエイリアスであるため、最大レートにサブクエリを使用するには、その重いクエリを再度作成する必要があります。