计算不同的存储SQL

时间:2018-01-12 14:48:43

标签: sql oracle

我对SQL很新,并且想知道是否有人可以帮助我的代码。

我正在尝试计算与特定仓库相关联的独特商店数量,该仓库与采购订单相关联。

示例:如果有来自仓库#2或#5等的此PO的100家商店...那么我想:

               | COUNT_STORE | WH_LOCATION |
             1 |     100     |     2       |
             2 |     25      |     5       |
             3 |     56      |     1       |

[] 我的代码:

select count(distinct Store_ID) as Count_Store, WH_Location
from alc_Loc
where alloc_PO = 11345
group by Store_ID, WH_Location

当我运行这个时,我得到一个1" count_store"它多次向我显示WH_Location。我觉得好像没有正确地绑在一起。

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

只需从store_id

中删除group by即可
select count(distinct Store_ID) as Count_Store, WH_Location
from alc_Loc
where alloc_PO = 11345
group by WH_Location;

当您在Store_ID中加入group by时,每个Store_ID都会有一个单独的行。然后,非重复计数显然为1(如果商店标识为NULL,则为0)。