加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

在一个sql查询中计算很多布尔字段?

发布时间:2020-12-12 06:40:18 所属栏目:MsSql教程 来源:网络整理
导读:不确定如何解释这个但是想象你有一个包含许多布尔字段的表…… 表:汽车 列: Automatic: boolean Silver: boolean American: boolean Noisy: boolean Smelly: boolean fast: boolean (愚蠢的田地,其中大部分都不会在现实中沸腾,只是一个例子) 我需要做的是生
不确定如何解释这个但是想象你有一个包含许多布尔字段的表……

表:汽车

列:

Automatic: boolean

Silver: boolean

American: boolean

Noisy: boolean

Smelly: boolean

fast: boolean

(愚蠢的田地,其中大部分都不会在现实中沸腾,只是一个例子)

我需要做的是生成这些字段的列表,每个字段旁边有一些搜索结果,所以如果数据库中有100辆银色汽车和57辆美国汽车,那么列表可能看起来有点像这样……

Automatic: (150)

Silver (100)

American (57)

Noisy (120)

Smelly (124)

fast (45)

所以,它基本上就像一个过滤器列表,如果用户点击“白银”,他们会缩小搜索范围,只显示银色汽车,他们知道他们将得到100个结果.然后,所有其他过滤器旁边的数字将减少,因为我们已经过滤掉所有非银色的汽车.

计算一个场的出现很容易……

SELECT COUNT(*)FROM CARS WHERE Automatic = true;

……例如,我会给第一行.但是我不想为每个过滤器做一个SQL语句,因为它们可能超过30个.我见过很多网站这样做,所以它必须比我想象的要容易.

真的很感激任何帮助:)

乔恩

解决方法

假设该位为1/0,则可以使用SUM而不是COUNT:
SELECT SUM(Automatic) as Automatic,SUM(Smelly) as Smelly,SUM(American) as Japanese FROM ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读