gpt4 book ai didi

sql - 在一个sql查询中计算大量 bool 字段?

转载 作者:行者123 更新时间:2023-12-02 14:17:02 25 4
gpt4 key购买 nike

不确定如何解释这一点,但想象一下您有一个包含很多这样的 bool 字段的表......

表:汽车

列:

Automatic: boolean

Silver: boolean

American: boolean

Noisy: boolean

Smelly: boolean

fast: boolean

(愚蠢的字段,其中大多数实际上不会是 bool 值,而只是一个例子)

我需要做的是生成这些字段的列表,每个字段旁边都有许多搜索结果,因此,如果数据库中有 100 辆银色汽车和 57 辆美国汽车,则该列表可能看起来有点像这样。 .

Automatic: (150)

Silver (100)

American (57)

Noisy (120)

Smelly (124)

fast (45)

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

计算一个字段的出现次数很容易......

从自动 = true 的汽车中选择 COUNT(*) 个;

例如,

...会给我第一行。但我不想为每个过滤器执行一条 SQL 语句,因为可能有超过 30 个过滤器。我见过很多网站都这样做,所以它一定比我想象的要容易。

任何帮助将不胜感激:)

乔恩

最佳答案

使用 sql server 2008,当尝试对数据类型位的字段求和时,会发生以下错误:

Msg 8117, Level 16, State 1, Line 10

Operand data type bit is invalid for sum operator.

所以你可以尝试这个:

SELECT SUM(CAST(Automatic AS TINYINT)) as Automatic, SUM(CAST(Smelly AS TINYINT)) as Smelly, SUM(CAST(American AS TINYINT)) as Japanese FROM YourTable

关于sql - 在一个sql查询中计算大量 bool 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1794012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com