货物表  goods(
              g_id int,
              quality int,
              person_id int
             )
        其中person_id是person表的主键,表示货物拥有人。
        需求:  求拥有货物数量最多的前10名人物。

解决方案 »

  1.   

    贴记录及要求结果出来看看,TRY
    SELECT person_id,SUM(quality) FROM TT GROUP BY person_id ORDER BY SUM(quality) DESC LIMIT 10
      

  2.   


    quality 只是个质量代号,再想想看:  拥有货物数量最多的前10名人物
      

  3.   

    select person_id,count(*)
    from goods
    group by person_id
    order by 2 desc
    limit 10
      

  4.   

    select person_id,count(g_id) num from goods group by person_id order by num desc limit 10
      

  5.   

    没有看到你的记录
    SELECT person_id,count(*) FROM TT GROUP BY person_id ORDER BY count(*)  DESC LIMIT 10
      

  6.   

    +---------+---------+-----------+-
    |  g_id   | quality | person_id |
    +---------+-----------+---------+-
    |       9 |    0    |   50003   |
    |      17 |    0    |   50003   |
    |      40 |    0    |   50001   |
    |      73 |    0    |   50002   |
    |      86 |    0    |   50003   |
    |     140 |    0    |   50002   |
    |     150 |    0    |   50001   |
    |     158 |    1    |   50001   |
    像这里 ,person 50001就拥有3个物品,person 50002就拥有2个物品,明白了吗?
      

  7.   

    SELECT person_id,count( distinct g_id) FROM TT GROUP BY person_id ORDER BY count( distinct g_id) DESC LIMIT 10
      

  8.   


    你好,朋友,解释下 order by 2 desc 是什么意思好不?我就这个没想到