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

前端之家收集整理的这篇文章主要介绍了在一个sql查询中计算很多布尔字段?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
不确定如何解释这个但是想象你有一个包含许多布尔字段的表……

表:汽车

列:

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 ...
原文链接:https://www.f2er.com/mssql/78176.html

猜你在找的MsSQL相关文章