Я хотел бы добавить все 1 и 0 для столбца FIELD2 и использовать вывод суммы в новую колонкувычислить сумму продаж - SQL
SELECT
field1, field2, field3, field4.....,
SUM(CASE WHEN field2= 1 THEN 1 ELSE 0 END) AS field1s,
SUM(CASE WHEN field2= 0 THEN 1 ELSE 0 END) AS field0s
FROM
dbo.TableName
GROUP BY
field1, field2, field3, field4.....;
Этот метод не обеспечивает вывод, что мне нужно. Чтобы проиллюстрировать, что мне нужно, позвольте мне показать вам пример; У меня есть столбцы customerName
, wentShopping
. Для каждого клиента я хотел бы рассчитать общее количество времени, которое он/она отправил по магазинам, и поместить вывод в новую колонку.
Я написал SQL-запрос, но он не представляет собой сумму каждого клиента?
Это выход я получаю:
customerName wentShopping wentShopping0 wentShopping1
test 1 0 1
.
.
test 1 0 1
, но это должно быть:
customerName wentShopping wentShopping0 wentShopping1
test 1 2 2
Это происходит потому, что полное испытание временем шопинг в два раза и общее время он не ходил по магазинам также дважды
но то, что я хочу, чтобы все сведения об этом клиента, например, его возраст, DOB и т. д. ...? и я хочу, чтобы общее число 1 и 0 –
@Dip: Я добавил пример того, как получить возраст здесь. Поскольку возраст будет одинаковым для всех строк в группе, мы можем просто взять одно из этих значений с MAX (или MIN) – ChaseMedallion
, это дает мне одинаковые выходные данные 1 и 0 для каждого клиента, это не дает мне сумму, он дает только сумму одной строки. что, если один и тот же человек дважды ходил по магазинам. я показал результат, я получаю –