需要输出记录

时间:2015-06-24 06:49:35

标签: mysql sql select

select distinct type as vuln_type,
                (select count(distinct repoId) from vulns
                 where type = vuln_type) as cnt
from vulns;

repoId | type

1      | TYPE1
1      | TYPE2
2      | TYPE2
2      | TYPE2

输出我想要

TYPE1 | 1
TYPE2 | 2

你明白我想做什么:如果type中存在repoId,我们将数字增加到1(记录数无关紧要,意味着有很多具有相同repoIdtype的记录,不应影响结果)。 但我的查询不起作用(无限工作),有人可以解决吗?

1 个答案:

答案 0 :(得分:1)

您可以使用<#@ template debug="true" hostspecific="true" language="C#" #> <#@ assembly name="System.Core" #> <#@ assembly name="Newtonsoft.Json.dll" #> <#@ assembly name="Newtonsoft.Json.Schema.dll" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> <#@ output extension=".cs" #> 子句,而不必为每种类型执行子查询。该子句分解了group by列表中每个不同值的查询结果(以及任何聚合计算):

group by