繁体   English   中英

用于对重复项进行分组和计数的SQL语句

[英]SQL statement to group and count duplicates

我有一个称为报表的表格,看起来有点像这样:

|--|-------|------|-------------|-----------|------|
|ID|User_ID|Mod_ID|Mod_Timestamp|Mod_Comment|tstamp|
|--|-------|------|-------------|-----------|------|
|0 |   0   |   1  | 1387025342  |  XYZBLEH  |123123|
|--|-----------------------------------------------|

我还有另一个表称为reports_users,如下所示:

|--|----|
|ID|Name|
|--|----|
|0 |Damo|
|--|----|

Report表中的用户ID和Mod_Id都引用了Report_Users表中的ID,现在我需要的是有时在Mod_ID列中将有重复项,我想做的就是将它们组合在一起,并算作一个计数重复项,因此看起来像这样:

|--|----|-----|
|ID|Name|count|
|--|----|-----|
|0 |Damo|  16 |
|--|----|-----|

我可以将名称添加到表中,但是我似乎无法对其进行分组或计数而不会引起问题,我已经通过Inner Join语句完成了此操作,但似乎无法弄清楚该怎么做。 如果在座的人能对此提供帮助,我将非常感激。

这是我上面提到的SQL

SELECT * FROM request as request_table INNER JOIN(SELECT name, id as uid from request_user)AS user ON(request_table.Mod_id = user.uid)

问候,达米安

完全不需要子选择:

SELECT reports.ID, reports_users.Name, count(reports.ID) AS count
FROM reports
LEFT JOIN reports_users ON reports.User_ID = reports.ID
GROUP BY reports.ID

暂无
暂无

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

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