Как получить истинное/ложное количество от небольшого поля в два отдельных столбца

Нет. Единственное изменение будет небольшим количеством дополнения для выравнивания данных к размеру блока

Однако при сжатии довольного примечание, что необходимо сделать это прежде шифрование. Зашифрованные данные должны обычно быть неотличимы от случайных данных, что означает, что они не сожмутся.

38
задан Tom H 13 July 2010 в 14:14
поделиться

4 ответа

Примерно так:

SUM(CASE WHEN ColumnName = 1 THEN 1 ELSE 0 END) AS Pass, 
SUM(CASE WHEN ColumnName = 0 THEN 1 ELSE 0 END) AS Fail
70
ответ дан 27 November 2019 в 03:20
поделиться

попробуйте:

declare @table table (columnName bit)
insert into @table values (1)
insert into @table values (1)
insert into @table values (1)
insert into @table values (1)
insert into @table values (1)
insert into @table values (0)
insert into @table values (0)
insert into @table values (0)
insert into @table values (0)

SELECT
    SUM(CASE WHEN ColumnName = 1 THEN 1 ELSE 0 END) AS True1
  , SUM(CASE WHEN ColumnName = 0 THEN 1 ELSE 0 END ) AS False0
from @Table

ВЫХОД:

True1       False0
----------- -----------
5           4

(1 row(s) affected)
3
ответ дан 27 November 2019 в 03:20
поделиться
SELECT
    Attribute,
    Class,
    SUM(CASE BitField WHEN 1 THEN 1 ELSE 0 END) AS [Pass],
    SUM(CASE BitField WHEN 0 THEN 1 ELSE 0 END) AS [Fail]
FROM 
    Table
GROUP BY
    Attribute,
    Class
3
ответ дан 27 November 2019 в 03:20
поделиться

Другой вариант:

SELECT Attribute, Class
       COUNT(CASE WHEN ColumnName = 1 THEN 1 END) Pass,
       COUNT(CASE WHEN ColumnName = 0 THEN 1 END) Fail FROM YourTable 
GROUP BY Attribute, Class
2
ответ дан 27 November 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: