sql - 如何在 SQL Server 中使用 where 子句计算行数?
问题描述
我几乎被 SQL Server 面临的一个问题所困扰。我想在查询中显示特定值出现的次数。这很容易做到,但我想更进一步,我认为解释我想要实现的最佳方法是使用图像来解释它。
正如您在胸部看到的那样,'hoeveelheid' 列表示胸部的饱满程度,'vol' == 1 和 3/4 == 0,75。在植物表中有一列“Hoeveelheidperkist”,它说明了 1 个箱子里可以有多少植物。
select DISTINCT kist.Plantnaam, kist.Plantmaat, count(*) AS 'Amount'
from kist
group by kist.plantnaam, kist.Plantmaat
此查询计算所有箱子,但它不区分“Vol”箱子和“3/4”箱子的数量。它只做This。我想要实现的是这个。但我不知道怎么做。任何帮助将非常感激。
解决方案
如果您使用 group by,则不需要 distinct
并且如果您想要 hoeveelheid 的单独计数,则需要添加到 group by 子句
select DISTINCT kist.Plantnaam, kist.Plantmaat, kist.hoeveelheid, count(*) AS 'Amount'
from kist
group by kist.plantnaam, kist.Plantmaat, hoeveelheid
或者,如果您想要所有 3 个 samw rowx 计数,您可以使用条件聚合,例如:
select DISTINCT kist.Plantnaam, kist.Plantmaat
, sum(case when kist.hoeveelheid ='Vol' then 1 else 0 end) vol
, sum(case when kist.hoeveelheid ='3/3' then 1 else 0 end) 3_4
, count(*) AS 'Amount'
from kist
group by kist.plantnaam, kist.Plantmaat
推荐阅读
- git - 如何取消删除已推送删除的文件?
- django - 如何在 Django 中扩展 html 文件
- python - 确定顶点是否位于一组顶点内
- javascript - app[web.1]:警告:connect.session() MemoryStore 不是 .Heroku 不工作
- bash - 使 grep 不改变模式
- python - 异步管理连接的客户端,同时在 Python 中持续发送数据
- reactjs - 重构 ReactJS 组件以删除 getDerivedStateFromProps
- excel - VBA重复字符串布尔函数#NAME错误
- android - 当我从其他活动中删除孩子时,onChildRemoved 一直在打电话
- php - PHP 通过组合现有数组中的元素创建一个新的多维数组