[英]mysql: for a single column count number of rows for occurrence of specific values
[英]How to count the number of occurrence of column values but without GROUP BY (not distinct values) mysql
id title numbers 1 chicken 1 2 meat 1 3 fish 1 4 fish 2 5 meat 2 6 fish 3 7 chicken 2 8 chicken 3
我想构建如上所示的以下输出。 任何人都可以帮我计算列值的出现次数但没有GROUP BY (不删除相同的值),让创建“数字”字段与上面相同,谢谢
正常,如果使用COUNT(*)
:
SELECT COUNT(*) FROM table GROUP BY title
但它删除相同的值:
id title numbers 1 chicken 3 2 meat 2 3 fish 3
我想保持相同的值,并输出如下:
id title numbers 1 chicken 1 2 meat 1 3 fish 1 4 fish 2 5 meat 2 6 fish 3 7 chicken 2 8 chicken 3
我假设您的问题是如何在示例输出中生成numbers
列。 如果这不正确,请澄清问题。
select id
, title
, (
select count(*)
from Table1 t2
where t1.title = t2.title
and t2.id <= t1.id
) as numbers
from Table1 t1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.