こんにちは、SQL初心者です。
「ユーザーが何票投じたか」を知りたいです。私たちのインスタンスでは、1人あたりの投票数は10票に制限されています。結果のテーブルは以下のようになります。
投票数
ユーザー数
10
25
9
32
8
43
(以下略)
初めてのSQLで、ここまでできました。
SELECT user_id, count(user_id)
FROM discourse_voting_votes
GROUP BY user_id
ORDER BY count DESC
これにより、ユーザーが投じた票数で並べ替えられたユーザーリストが得られます。手動で計算することもできますが、面倒でエラーが発生しやすいです。
「いいね!」 2
これも初めてのSQLクエリになるかと思いますので、どうなるか見てみましょう… でも、これは役に立ちますか?
WITH votes AS (
SELECT user_id, count(user_id) as Number_of_Votes
FROM discourse_voting_votes dvv
WHERE dvv.archive = false
GROUP BY user_id
ORDER BY Number_of_Votes DESC
)
SELECT Number_of_Votes, count(*) AS Number_of_Users
FROM votes
GROUP BY Number_of_Votes
ORDER BY Number_of_Votes DESC
「いいね!」 3
完璧です!本当にありがとうございます!スクリプトと簡単な SQL レッスンについてです。これもあなたにとって役立つことを願っています。
このクエリは他の人にも役立つと確信しています。私たちの場合は、ボランティアが他の同僚と比較して投票をどれだけ使用しているか、またはしていないかについて、より自己認識を持てるように、この投票の分布を表示したいと考えています。最終的な目標は、使用される投票の数を増やすことです。
「いいね!」 3
うまくいって本当に嬉しいです。 データエクスプローラーでしばらく練習したいと思っていて、これは完璧な機会だと思ったので、むしろ私があなたに感謝すべきです。
結果をユーザーの現在の投票数合計に制限し、履歴を含めないように、「archive = false」行を追加しました。あなたのユースケースにはこれで正しいと思いますが、「総計」が必要な場合は削除してください。
改めて感謝します。
「いいね!」 2
JammyDodger:
‘archive = false’
ああ、これは知りませんでした。はい、これは私が探していたクエリに合致します。重ねて感謝いたします。このデータはすでに使用しています。
「いいね!」 1
system
(system)
クローズされました:
2023 年 4 月 15 日午後 7:48
6
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.