MYSQL查询对某些列的出现次数进行求和

标签 mysql sql group-by

假设我有这样的用于登录的 MYSQL 表:

id---name---location---login_date
----------------------------------
1----mike----usa-----21.08.2012
2----tony----uk------22.08.2012
3----tony----uk------23.08.2012
4----david--france---24.08.2012
5----mike----usa-----25.08.2012
6----tony----uk------26.08.2012
7----ash--france----27.08.2012

我需要这个输出。结果将按名称分组,按登录次数排序。
对于这种情况,最快的查询是什么?

login_times---name
3-------------tony
2-------------mike
1-------------david
1-------------ash

最佳答案

SELECT COUNT(*) AS 'login_times', name 
FROM logins 
GROUP BY name 
ORDER BY login_times DESC

http://sqlfiddle.com/#!2/6e176/9

但是whathaveyoutried.com

关于MYSQL查询对某些列的出现次数进行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12167626/

相关文章:

java - 如何使用 sql 创建嵌套选择?

python - 如何使用 sqlalchemy 截断和插入同一事务?

php - Laravel 数据透视表 - 从反向关系表访问

mysql - SQL:来自具有不同日期格式的不同表的聚合

当由第三个分组时,MySQL 根据另一个字段的最小值更新字段

MySQL 使用 GROUP BY 对多列进行分组

mysql - 使用 MySQL 分组时返回哪一行的字段?

MySQL GROUP BY…排除其他字段中的值

MySQL使用IF来测试一个表中的项目数是否等于另一表的列中的值

mysql - 按存储过程参数排序