私はこのようになりますテーブルがありますので、もし私が、私が取得する必要があり、行の量のパーセンタイルを表す列を持つ別のテーブルを持っている列の値でLIMIT静的な値を交換
ID Damage
1 10
2 7
3 153587
4 1
...1M more rows
をその上位10パーセンタイルの列の値は100000になります。ダメージに基づいて取得します。
パーセンタイルが100000を本質的に変数または列の値に置き換えるように変更されたため、LIMIT 100000というよりも方法がありますか?
セカンドテーブル:IDは何のギャップがなかった
Days Percentile_Affected Damage_Sum
14 87000
30 161000
90 371000
...
私はSql ServerがTOPを介して簡単な方法でこれをサポートしていることを知っていますが、MySqlについてはそれほど確実ではありません。 TOPキーワードとLIMITキーワードのどちらも標準SQLではなく、IIRC LIMITはパーセントまたはネストされたSELECT式ではなく、行数リテラルのみをサポートしています。 SQL標準では、式をサポートするOFFSET/FETCH(ネストされたSELECT)を使用しますが、MySqlはOFFSET/FETCHをまったくサポートしていません。おそらくあなたが使用できるいくつかの複雑な回避策があります。 –
2番目の表の外観を見せてください。 –
私は2番目のテーブルを追加しました。私は、percentile_affectedカラムを使用して制限しています。私はntileを使用しようとしていますが、NTILE()は定数を必要としています。 – Qwerty