如何基于选择列SQL Server计算DISTINCT

马利克斯

我在SQL Server中有一个表,其中包含7列:

----------------------------------------------------------------------------------------
id | Source_Node | Source_Node_Type | Target_Node | Target_Node_Type | Year | Edge_Type
----------------------------------------------------------------------------------------

1    10965          2                  23036        3                  2005   2
2    10965          2                  23036        3                  2005   2
3    2947           2                  23036        3                  2005   2
4    37529          4                  23036        3                  2005   4
...  
...

虽然我都数不过来的只有两列的基础DISTINCT行即Source_NodeTarget_Node如行与id1和2有相同的价值观Source_NodeTarget_Node,所以这应该是得到计数一次。我已经尝试查询为:

SELECT COUNT(*) FROM GraphEdges
WHERE Source_Node IN (...Node_List...) 
AND Target_Node IN (...Node_List)  

尝试查询时,它的计数为58。

SELECT DISTINCT Source_Node, Target_Node FROM GraphEdges
WHERE Source_Node IN (...Node_List...) 
AND Target_Node IN (...Node_List...)  

它提供了53行,这是我需要的数字,但是却提供了整行,而我需要COUNT图,即53。
如何修改查询?
谢谢!

萨加斯

您可以将其与另一个选择包装在一起,如下所示:

SELECT COUNT(*) FROM (
    SELECT DISTINCT Source_Node, Target_Node FROM GraphEdges
    WHERE Source_Node IN (...Node_List...) 
           AND Target_Node IN (...Node_List...))

或没有子查询的解决方案:

SELECT count(distinct concat(Source_Node,Target_Node))
FROM GraphEdges
WHERE Source_Node IN (...Node_List...) 
      AND Target_Node IN (...Node_List...))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何基于使用SQL Server选择的非重复(列)获取非重复行

来自分类Dev

如何在SQL Server中基于某些数量选择头寸

来自分类Dev

使用 SQL Server:如何使用基于总和的选择条件

来自分类Dev

SQL Server 2008中基于计算列的新行

来自分类Dev

SQL Server 2008中基于计算列的新行

来自分类Dev

基于OR子句的SQL计算列

来自分类Dev

SQL Server-选择要基于另一个列值进行更新的列

来自分类Dev

如何基于列值展开表SQL Server

来自分类Dev

如何基于SQL Server中的多个列进行计数?

来自分类Dev

如何计算 SQL Server 存储过程中选择的数量

来自分类Dev

SQL Server基于逻辑的选择查询

来自分类Dev

基于选择语句SQL Server 2005的更新

来自分类Dev

SQL Server中的计算列

来自分类Dev

在SQL Server中计数DISTINCT

来自分类Dev

SQL Server:COUNT(DISTINCT(CASE))

来自分类Dev

在SQL Server中计数DISTINCT

来自分类Dev

如何合并DISTINCT和计算合计值

来自分类Dev

在Apache Pig中,基于单个列选择DISTINCT行

来自分类Dev

在Apache Pig中,基于单个列选择DISTINCT行

来自分类Dev

如何基于给定的日期列创建自定义季度sql sql sql server

来自分类Dev

SQL-如何基于其他列的值添加计算列

来自分类Dev

如何在SQL select语句中基于另一列添加计算列

来自分类常见问题

如何使用选择查询在SQL Server中并排添加列

来自分类Dev

如何使用聚合函数SQL Server选择列

来自分类Dev

如何在SQL Server中选择行到列

来自分类Dev

如何使用选择查询在SQL Server中并排添加列

来自分类Dev

如何从两个表SQL Server中选择列

来自分类Dev

如何在SQL Server中选择行到列

来自分类Dev

如何在Sql Server中的列中对选择进行分组

Related 相关文章

热门标签

归档