問題タブ [ranking]

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.

0 投票する
4 に答える
3854 参照

sql - PostgreSQLで「ランク付けされたxoutof y」データをどのように処理する必要がありますか?

「Yからランク付けされたX」データを表示できるようにしたいテーブルがあります。特に、個々の行のデータを比較的効率的な方法で(つまり、テーブル内のすべての行を選択せず​​に)表示できるようにしたいと思います。ランキング自体は非常に単純で、テーブルの1つの列に対する単純なORDERBYです。

Postgresはこの点でいくつかのユニークな課題を提示しているようです。AFAICTには、RANK、ROW_NUMBER、または同等の関数がありません(少なくとも、8.3では、今のところ行き詰まっています)。メーリングリストアーカイブの標準的な答えは、一時的なシーケンスを作成し、そこから選択することのようです。

テーブルから1行だけを選択したい場合(ランクではなくPKで選択したい場合)、このソリューションはまだ役に立たないようです。

ランクを非正規化して別の列に格納することで、データの表示を簡単にすることができますが、問題を再配置するだけです。UPDATEはORDERBYをサポートしていないため、ランクを設定するためにUPDATEクエリを作成する方法がわかりません(すべての行を選択し、行ごとに個別のUPDATEを実行する以外は、DBアクティビティが多すぎるようです。ランクの更新が必要になるたびにトリガーします)。

明らかな何かが欠けていますか?これを行う正しい方法は何ですか?

編集:どうやら私は十分に明確ではありませんでした。私はOFFSET/LIMITを知っていますが、それがこの問題の解決にどのように役立つかわかりません。X位のアイテムを選択するのではなく、任意のアイテム(PKなど)を選択して、「312のうち43位」のようなものをユーザーに表示できるようにします。

0 投票する
1 に答える
158 参照

sql - 結果の検索とランキング

複数の属性で文字列を検索するための比較的単純なアルゴリズムを作成しようとしています

いくつかのデータが与えられた場合:

いくつかのデータ:

検索文字列: 「ジョシュ・ヨーク」

そのクエリ文字列は 2 番目のレコードに 2 回ヒットし、1 番目のレコードに 1 回ヒットするため、結果は [2, 1] になるはずです。

ここでは、大文字と小文字を区別しないと想定しても安全です。

これが私がこれまでに持っているもので、ルビー/アクティブなレコードです:

この方法の問題点は、多数のクエリ (query_string.split.length * some_attributes.length) が生成されることです。

クエリの数を減らすことで、これをより効率的にすることはできますか?

ruby 内での並べ替えは問題ありませんが、それが何らかの方法で SQL に詰め込まれることができれば、それも素晴らしいことです。

0 投票する
1 に答える
1454 参照

sql - Oracle: ランク付けされた予測リストの前のレコードを検索

こんにちは、私は難しい問題に直面しています:

私は天気予報のテーブル (オラクル 9i) を持っています (サイズは何億ものレコードです)。その構成は次のようになります。

どこ:

  • stationid予報を作成する可能性のある多くの気象観測所の 1 つを指します。
  • forecastdate予測対象の日付を指します (時刻ではなく日付のみ)。
  • forecastintervalforecastdate予測の時間 (0 ~ 23) を参照します。
  • forecastcreated予測が行われた時間を指し、何日も前になる可能性があります。
  • forecastvalue予測の実際の値を参照します (名前が示すように)。

stationid与えられたものと与えられたものforecastdateとのペアについて、公称数(500など)よりも大きく増加forecastintervalするレコードを決定する必要があります。forecastvalueここに条件の表を示します。

上記のシナリオで、3 番目のレコードを取り出したいと思います。これは、予測値が公称 (100 など) だけ増加したレコードです。

テーブルのサイズが非常に大きく (何億ものレコード)、完了するまでに非常に長い時間がかかる (実際、クエリが返されないほど長い) ため、タスクは非常に困難であることが判明しています。

これらの値を取得するためのこれまでの私の試みは次のとおりです。

0 投票する
3 に答える
1314 参照

php - PHPランキングシステム配列ソート

ランキングシステムを開発しています。次の配列を取得しました。

1,2はカテゴリIDで、プロジェクトの名前と各プロジェクトの投票数があります。配列を並べ替えるにはどうすればよいですか。カテゴリIDはこのように並べ替えられたままですが、プロジェクト名は投票数の降順でランク付けされますか?

何か案は?

前もって感謝します!

0 投票する
2 に答える
9060 参照

mysql - 各種類の上位 N 番号を含む MySQL Group By

次のようなテーブルがあります。

そして、昇順で並べられた各文字の上位 2 つが必要です。

どうすればいいですか?GROUP BY を使用してトップ 1 だけを取得するのはかなり簡単ですが、複数のエントリに対して機能させることはできないようです

0 投票する
3 に答える
447 参照

css - ページの CSS スタイル テーブルの隠し属性は Web サイトのパワーを低下させますか?

Web サイト ページの CSS スタイル テーブルでは、overflow:hiddendisplay:none;

これはSEOに効果がありますか?これは検索エンジン (SE) にとって使いやすいですか? 検索エンジン(SE)で罰せられますか?ページの CSS スタイル テーブルの非表示の属性は、Web サイトのパワーを下げることができますか?

0 投票する
4 に答える
1736 参照

php - PHP/CodeIgniter では、生徒の成績に基づいてクラスとフォームのランクをどのように計算しますか?

学生の次の成績情報を保持するデータベース テーブルがあります。

次に、成績に基づいて学期末レポートを計算します。を使用してgpa、適用される単位と全体の GPA を計算します。この総合 GPA に基づいて、生徒のクラスのランクと全体のフォーム (学年レベル) を計算したいと考えています。このランクより前のデータベースに保存せずにこれを行うにはどうすればよいですか? また、これは CodeIgniter のビューから実行できますか? もしそうなら、それを行うための最良の方法は何ですか?

0 投票する
2 に答える
422 参照

algorithm - 「安全変数」とは何ですか?

さまざまなランキング アルゴリズムに関する記事を読んでいたところです。私が少し混乱しているのは、stumbleupon のアルゴリズムです。

(初期スタンブラー オーディエンス / # ドメイン) + ((% スタンブラー オーディエンス / # # ドメイン) + オーガニック ボーナス – 非友人) – (% スタンブラー オーディエンス + オーガニック ボーナス) + N

N は「安全変数」であるため、想定されるアルゴリズムは柔軟です。乱数を表します。

誰かが N の目的を説明してくれませんか? アルゴリズムをより柔軟にする方法がわかりません。

0 投票する
6 に答える
5090 参照

python - Pythonでの数による複数のリストの要素のランキング

複数のリストを、各リストに表示される頻度の要素に従ってランク付けしたいと思います。例:

list1 = 1,2,3,4 list2
= 4,5,6,7
list3 = 4,1,8,9

結果=4,1,2,3,4,5,6,7,8(4は3回カウントされ、1は2回カウントされ、残りは1回カウントされます)

私は次のことを試しましたが、もっとインテリジェントなものと、任意の数のリストで実行できるものが必要です。

今ここに問題があります...私はa3、a4、a5で何度もそれを行うことができますが、それでは複雑すぎるので、これのための関数が必要です...しかし私は方法がわかりません...私の数学は行き詰まりました;)

解決済み:議論してくれてありがとう。初心者として、私はどういうわけかこのシステムが好きです:速い+有益です。あなたは私をすべて助けてくれました!Ty