Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择的ID数_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 选择的ID数

Sql 选择的ID数,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,在下面的sql FIDLE中,我将如何更改视图以获得所需的输出 看法 质疑 期望输出 numberOfevents应该=2(事件的实际数量,而不是每个事件的记录数量,由查询中的where子句确定),以便在视图中正确计算。在计数函数中使用distinct关键字: select count(distinct fk_id) as number_of_IDs ,id from myTable where someCondition group by id 您可

在下面的sql FIDLE中,我将如何更改视图以获得所需的输出

看法

质疑

期望输出


numberOfevents应该=2(事件的实际数量,而不是每个事件的记录数量,由查询中的where子句确定),以便在视图中正确计算。

计数
函数中使用
distinct
关键字:

select
    count(distinct fk_id) as number_of_IDs
    ,id
from
    myTable
where
    someCondition
group by
    id

您可以
count
distinct
fk_id
而无需
group by
子句:

select count(distinct fk_id) as number_of_IDs
from [myTable]
where [someCondition]

我想应该是
fk_id
而不是
groupby
子句中的
id
。@notulyses谢谢,是的,这只是我的伪示例代码中的一个错误。更正@ConradFrix是的,当我这样做的时候,我仍然得到了2列1/5012和1/7008 not,
2
@ConradFrix:我真的很难理解这个问题。请详细说明一下好吗?我试图通过除以sum(美元)得到每个事件的成本,因此查询已经有一个group by子句
select sum(美元)/{something that=2}作为事件的成本,美元作为每张票的成本。。。如果eventDate介于“2015年1月1日”和2015年2月1日之间
@Travis:是的,我理解,但是你不应该仅仅用
count(fk_id)
替换
count(distinct fk_id)
,你应该在我的回答中用子查询替换它。@Travis你可能应该在你的问题中添加一些示例行。这不仅有助于回答问题,而且也有助于未来有类似问题的游客。使用它不会有什么坏处
select
    count(distinct fk_id) as number_of_IDs
    ,id
from
    myTable
where
    someCondition
group by
    id
select count(distinct fk_id) as number_of_IDs
from [myTable]
where [someCondition]