简体   繁体   English

如何计算MySQL中列值的出现次数?

[英]How to count occurrences of a column value in MySQL?

my Query : 我的查询:

SELECT 
 max(if(`field_name`='your-name', `field_value`, null )) AS 'Name',
 max(if(`field_name`='your-email', `field_value`, null )) AS 'email',
 max(if(`field_name`='your-subject', `field_value`, null )) AS 'subject'


FROM Complaints 
WHERE `form_name` = 'Complaint'  
GROUP BY `submit_time`;

and the table look like that 桌子看起来像那样

+---------+---------------+---------+
|  Name   |     email     | Subject |
+---------+---------------+---------+
| Mike AA | test@test.com | test    |
| John    | a@test.com    | w       |
| Mike AA | test@test.com | zzzz    |
+---------+---------------+---------+

I am trying to add new column for count where value name is the same so to be like this. 我正在尝试为count值添加新列,其中值名称相同,所以就像这样。 group records where "Name is the same" 组记录“名称相同”

+---------+---------------+---------+---------------------+
|  Name   |     email     | Subject | Number of Complaint |
+---------+---------------+---------+---------------------+
| Mike AA | test@test.com | test    |                   2 |
| John    | a@test.com    | w       |                   1 |
+---------+---------------+---------+---------------------+

Thank you so much for your help 非常感谢你的帮助

Is this what you are looking for? 这是你想要的?

SELECT name, email, min(Subject) as Subject, count(*) as NumComplaint
FROM `contactus`  c
WHERE `form_name` = 'Complaint'  
GROUP BY name, email;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM