1
テーブルには複合プライマリキー(Group、Rank)を持つ3つのカラム(Group、Rank、Score)があります。各グループには、ランク1とスコアの少なくとも1つのエントリがあります。グループごとに複数の行がある場合は、1より大きいランクとスコアを持ちます。たとえば:ランク付けされたアイテムのグループのためのsqliteサブクエリ
+-------+------+-------+
| Group | Rank | Score |
+-------+------+-------+
| 1 | 1 | 100 |
| 1 | 2 | 99 |
| 1 | 3 | 80 |
| 2 | 1 | 70 |
| 2 | 2 | 68 |
| 2 | 3 | 50 |
| 2 | 4 | 20 |
| 3 | 1 | 80 |
+-------+------+-------+
私の目標は、トップスコアは、グループごとに1のランク値のスコアになるように定義された各グループのトップスコアに「近い」すべての行を選択することです。上記の例では、グループ1のスコアは100、グループ2のスコアのスコアは70、グループ3のスコアのスコアは80です。上位のスコアよりも5%小さいすべての行を選択します。上記の例では、結果として得られる選択が返されます:
+-------+------+-------+
| Group | Rank | Score |
+-------+------+-------+
| 1 | 1 | 100 |
| 1 | 2 | 99 |
| 2 | 1 | 70 |
| 2 | 2 | 68 |
| 3 | 1 | 80 |
+-------+------+-------+
私の第二の目標は、上記の目標を解消する新しい列としてスコア/ top_scoreの比率を配置することです。 ありがとうございます。 SQLiteの場合。
がテストされ、うまく機能します。ありがとう!しかし、値を整数にすることができるので、除算にはキャストが必要です。 – jobobo