微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何计算MySQL中的项目数?

如何解决如何计算MySQL中的项目数?

| 可以在示例中更好地说明。 我在MysqL中有以下数据
   Name   address   age    
   John1   33 St    20    
   John2   22 St    21
   John3   44 St    20
   John4   55 St    21
   John6   44 St    20
   John5   66 St    35
我想获取具有基于年龄的计数的行列表。但是是否有可能使最后一行与每个计数相关联。例
   Name   address   age   Count 
   John6   44 St    20      3
   John4   55 St    21      2
   John5   66 St    35      1
    

解决方法

        查看
GROUP BY
的语法
SELECT *,count(*) as Count FROM tableName GROUP BY age;
更新 假设您决定添加一个排序列,例如日期时间:
   Name   address   age created   
   John1   33 St    20  2011-04-01 10:00:00
   John2   22 St    21  2011-04-01 09:00:03
   John3   44 St    20  2011-04-01 07:00:20
   John4   55 St    21  2011-04-01 08:45:01
   John6   44 St    20  2011-04-01 13:00:00
   John5   66 St    35  2011-04-01 12:00:40
然后,您可以像这样完成最终目标:
  SELECT *,count(*) as Count
    FROM ( SELECT * FROM tableName ORDER BY created DESC ) as newTable
GROUP BY age;
您必须使用嵌套选择,因为否则将在
GROUP BY
之后应用
ORDER BY
。     ,        正如Stephen指出的那样,您需要执行嵌套选择,但反之则:
SELECT 
    u.Name,u.Address,u.age,u.NumCount
FROM (SELECT Name,Address,age,count(age) from users group by age) as u
ORDER BY u.NumCount desc
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。