問題タブ [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.
statistics - 1 対 1 投票: 評価の計算 (Flickchart.com)
アイテムを 1 から 10 までの等級で評価するのではなく、1 対 1 の「戦い」を行いたいと考えています。2つのアイテムが並んで表示されますので、好きな方を選んでください。これらの「戦い」の結果に基づいて、アルゴリズムは各項目の評価を計算する必要があります。
このアプローチは、このアプローチを使用して映画が評価されているFlickchart.comで確認できます。
次のようになります。
ご覧のとおり、「戦い」に勝った場合、アイテムは上に押し上げられます。「ファイト」の結果によってランキングは常に変動します。しかし、これは勝率 (ここでは 54%) だけに基づいているわけではありません。「25 時間」程度よりも「タイタニック」に勝つ方が難しいからです。
よくわからない点がいくつかあります: - 評価はどのように計算されますか? ランキング1位の映画はどうやって決まるの?アイテムがどれくらいの頻度で勝つか、そして打ち負かされたアイテムがどれだけ優れているかを考慮する必要があります。- 「戦い」のあるアイテムの選び方は?
もちろん、Flickchart がこれらすべてを正確にどのように行っているかはわかりません。しかし、それがどのように行われるかを教えていただけるかもしれません。前もって感謝します!
sql - クエリによって返された配列内の名前のランクまたはインデックスを見つける
name、amount in order amount desc を含む最小 1000 行を返すクエリを起動しています。その配列から特定の名前のインデックスが欲しいのですが、その方法がわかりません。
Rubyを使用しているので、適切にインデックスを返す arr.index(name)+1 メソッドを使用します。しかし、その特定の名前の数字のみを提供する MySQL クエリが必要です。
sql - Mysql - (1,2,3, 1, 2, 3, 1, 2, 3,) 行を交互に並べて結果を並べ替えるにはどうすればよいですか?
結果をクライアント 1、2、3 で並べ替え、次にクライアント 1、2、3 などで並べ替えます。
for ループを使用したり、3 つの個別のクエリを作成したりせずにこれを行う方法はありますか? それだけでなく、ページ分割されたデータを扱っているため、x の結果を一貫して返す必要があります。
何か案は?おそらくGROUP BY?
sql - MySQLビューの行ランク
結果に仮想行番号を自動的に追加するビューを作成する必要があります。ここでのグラフは完全にランダムです。私が達成したいのは、動的に作成される最後の列だけです。
クエリ:
sql - MySQLの「ORDERBY」は、特定の列に対して同じ値を持つ行の量ですか?
というtrends_points
テーブルがあります。このテーブルには次の列があります。
- id(行の一意のID)
- userId(これをテーブルに入力したユーザーのID)
- 用語(単語)
- 時間(UNIXタイムスタンプ)
今、私はこのテーブルでクエリを実行しようとしています。これは、特定の時間枠の行を、特定の時間枠の間に列がテーブルに表示される回数順に並べて取得しますterm
...たとえば、テーブルに次のようなものがある場合行:
次のように行を並べて表示したいと思います。
これは、「お正月」が3回、「クリスマス」が2回、「ツイッター」が1行しかないためです。
これまでのところ、クエリの特定の時間枠部分の単純なWHEREと、同じ用語がリストに2回表示されないようにするGROUPBYであると想定しました。
これにより、次のクエリが実行されます。
クエリの最後の部分をどのように行うかを誰かが知っていますか?(同じ「用語」列の値を含む行数でクエリの結果を並べ替えます。)
algorithm - Twitter のトレンド トピック アルゴリズムは、ツイートから抽出する単語をどのように決定しますか?
「ブリトニー・スピアーズ」の問題に焦点を当てたこの質問を見ました。しかし、私は少し別の質問があります。アルゴリズムは、どの単語またはフレーズをランク付けする必要があるかをどのように決定しますか? たとえば、「マイケル ジャクソンが死亡しました」というツイートを送信した場合、「マイケル ジャクソン」を抽出するが「死亡」を抽出しないことをどのように知るのでしょうか?
または、アレック・ボールドウィンとスティーブン・ボールドウィンがその日のニュースに出ていて、両方とも多くのツイートで言及されていたとします。単に「ボールドウィン」を取り出すのではなく、両方の名前を別の方法で扱うことをどのようにして知ることができるでしょうか?
素朴に考えてみると、この問題は NP 完全であることがわかりました (ツイート内のすべての潜在的なフレーズを、他のすべてのツイート内のすべての潜在的なフレーズと比較する必要があります)。
sql - N番目のすべての子のセットを取得する
状況:
- MySQL 5.0
- 2つのテーブル
- 1対多の親子外部キー関係(A.ID = B.PARENT_ID)
必要なもの:
- N番目のすべての子のセット(IDでソート)を生成するSELECTクエリ
- UPDATEで使用するためのフォームも必要です
例:
表B
たとえば、すべての2番目の子供に望ましい結果セット
おそらく、私が見ていないGROUP BYの機能と関係がありますか?
この問題の解決策を手続き的に見て、私の心は完全に行き詰まりました。すべてが大いに感謝するのに役立ちます。
mysql - mySQL を更新するが更新しない
私は mySQL/PHP で書いていますが、この問題があり、理解できません。この 1 つの PHP スクリプトには、2 つの SQL ステートメントが含まれています。私がやろうとしているのは、スポーツ リーグ テーブル (tblrank と呼ばれる SQL テーブル - テーブル ID で区切られた多くのリーグ テーブルを含む) を更新し、最後に更新されてからチームが上昇したか下降したかを示すことです。この最初のコードは少しぎこちなく、おそらくもっとうまく書けたはずです (MSSQL では約 6 行で記述できます)。これは、それより下位にランク付けされたチームの数を数えてから 1 つ追加することによって機能します。後で説明するように、うまくいくようです... ある種。
次に、このコードを実行して、表示する画像を選択します。
これを $tableid = 1 で実行すると、問題なく動作します。しかし、$tableid = 2 で実行すると、tblRank 全体のすべてのランクが 1 に設定されます ($tableid = 2 で実行する前は、TableID =1 のレコードを除いてすべてのランクが 1 です)。これは明らかに私が望むものではありません。
どちらのステートメントも if(mysql_query($sql)) 条件内にあるため、実行されたかどうかを確認できます。
私は mySQL よりも MS SQL をよく使用するので、専門家ではありません。コードの両方のチャンクが実行されることを確認しました。2 つの間で他の SQL は実行されません。
ranking - Voting algorithm: how to calculate rank?
I am trying to figure our a way to calculate rank. Right now it simply takes ratio of wins / losses of each individual entry, so e.g. one won 99 times out of a 100, it has 99% winning rank. BUT if an entry won 1 out of total 1 votes, it will have a 100% winning rank, but definitely it can't be higher that of the one that won 99 times. What would be a better way to do this?
mysql - GROUP BY内でLIMITを使用して、グループごとにN個の結果を取得しますか?
次のクエリ:
収量:
私が欲しいのは、各IDの上位5つの結果のみです。
GROUP BY内で機能する修飾子のようなある種のLIMITを使用してこれを行う方法はありますか?