mysql - 如何计算 select mysql 中的行组?

标签 mysql

hj 所有人,帮帮我!! 我使用 MYSQL,我有一个包含数据的表:

   |id  |  str |
  -------------
   1      aabb
   2      aaac
   3      aaad
   4      aabb
   5      aabb
   6      aaac

我要查询mysql(或函数)选择返回结果:

       STT  | str |
       1     aabb
       1     aaac
       1     aaad
       2     aabb
       3     aabb
       2     aaac

STT是表中出现的数字str 谢谢!

最佳答案

试试这个

SELECT A.id, A.str, count(*) AS STT
FROM Table1 A
JOIN Table1 B ON A.str = B.str AND A.id >= B.id
GROUP BY A.id, A.str 

Fiddle Demo

输出:

ID  STR STT
1   aabb    1
2   aaac    1
3   aaad    1
4   aabb    2
5   aabb    3
6   aaac    2

关于mysql - 如何计算 select mysql 中的行组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22753553/

相关文章:

MySql 索引排序和位置

PHP/mySQL 计算每个国家代码的总评论数

php - WHERE 子句不工作 mysql

mysql - 为什么 count(*) 不能正常工作?

mysql - 使用多个 DATE BETWEEN 对选择进行分类

php - 从数据库中获取记录时逻辑不清晰

mysql - 根据另一个表中的日期范围选择所有可用的最新非空记录

php - Azure 上的 Laravel 应用程序 : Access denied for user 'azure' @'localhost'

php - 在 Laravel 中创建莫里斯图

php - 查找路线起点和终点周围的标记 (LatLng)