sql >> データベース >  >> RDS >> Mysql

MySQL-count()およびGROUPBYによるランキング

    最初にユーザーIDでグループ化して注文した結果セット全体が必要です...次に、ランキングを適用します

    select
          @rownum := @rownum +1 as rank,
          prequery.uid,
          prequery.PostCount
       from
          ( select @rownum := 0 ) sqlvars,
          ( SELECT uid, count(id) postCount
               from posts
               group by uid
               order by count(id) desc ) prequery
    

    特定の人を取得し、「HAVING」句を試行する際に問題が発生した場合は、それをまとめて、whereを適用します...

    select WrappedQuery.* 
       from ( entire query from above ) WrappedQuery
       where WrappedQuery.uid = SinglePerson
    



    1. MySQLで複数の行をマージする方法は?

    2. PHPは前のクエリの結果をクエリできますか?

    3. Html/PhpフォームがSQLデータベースに追加されない

    4. Oracleで現在開いているカーソルを見つける方法