次のような結果セットがあります。
ID | name | myvalue
1 | A1 | 22
2 | A2 | 22
3 | A3 | 21
4 | A4 | 33
5 | A5 | 33
6 | A6 | 10
7 | A7 | 10
8 | A8 | 10
9 | A9 | 5
私が望むのは、利用可能な最高の「myvalue」を含む行のみを含めることです(前の例では33です)。次に:
ID | name | myvalue
4 | A4 | 33
5 | A5 | 33
IE クエリは、利用可能な最大の "myvalue" (IE 33) を選択する必要があり、myvalue < 33 を持つ行を削除する必要があります
SELECT ..... WHERE myvalue = THE_HIGHEST_OF(myvalue)
明確であることを願って...
前もって感謝します
編集:
私の現在のクエリは
SELECT
*,
(very long code that returns a integer as relevance score) AS myvalue
FROM
mytable
HAVING
myvalue = ?????
ORDER BY
myvalue DESC
現在、最高の myvalue は 10、20、30、任意の数値にすることができます...最終的な結果セットには、可能な限り最高の関連性スコアを持つ行のみを含めたい
GROUP BY を使用してみましたが、常に繰り返す必要があります...
(very long code that returns a integer as relevance score) AS myvalue
...2回