table
Name tap
aa 1
aa 1
aa 2
bb 2
aa 3
cc 1
bb 2
bb 3
cc 2
Результаты ?????SQL Access «Count»?
name Count(1) Count(2) Count(3)
aa 2 1 1
bb 0 2 1
cc 1 1 0
??????
table
Name tap
aa 1
aa 1
aa 2
bb 2
aa 3
cc 1
bb 2
bb 3
cc 2
Результаты ?????SQL Access «Count»?
name Count(1) Count(2) Count(3)
aa 2 1 1
bb 0 2 1
cc 1 1 0
??????
Вы не можете использовать Count как это будет делать только что - подсчитать количество записей для каждого Имени игнорирует значение крана.
Но вы проверяете значения tap и суммируете эти совпадения. Однако в то время как SQL Server возвращает 1 для соответствия, Доступ возвращает -1, таким образом - для универсального решения - вы можете применить Abs, чтобы всегда иметь положительную сумму.
После этого вы получите запрос, как это:
Select
[Name],
Abs(Sum(tap=1)) As Count1,
Abs(Sum(tap=2)) As Count2,
Abs(Sum(tap=3)) As Count3
From
YourTable
Group By
[Name]
выход будет:
Name Count1 Count2 Count3
aa 2 1 1
bb 0 2 1
cc 1 1 0
Интересно. Даунвит для правильного ответа. Счастливой Пасхи! – Gustav
Я предполагаю, что ваш ответ переживает спор. [Можно ли ответить вниз на плохие вопросы?] (Http://meta.stackoverflow.com/questions/255459/is-it-okay-to-downvote-answers-to -бад-вопросы). – Andre
Я проигнорировал этот ответ по двум причинам: первое из них заключается в том, что это ответ только на код, а во-вторых, что аскер буквально * не задал вопрос *. – Sculper
Добро пожаловать в StackOverflow! Вы показываете нам, что похоже на ваши данные и то, что вы хотите получить, но вы не задали вопрос. Вы написали запрос? У вас проблемы с получением этого конкретного результата? Кроме того, прочитайте [ask] несколько полезных советов о том, как улучшить свой вопрос. –