2013-12-25 2 views
0

My table look like this, It has 200 rowsКак найти количество столбцов на основе 3 различных значений из 3 столбцов на сервере Sql?

Мне нужно подсчитать Число комнат в eachbuilding, на каждом этаже и в каждой зоне .. (как это в рисунке) enter image description here

Я попытался с помощью различны и группы по, но Я не получаю требуемого результата.

ответ

2

Вы не предоставили фактический SQL вы trued, но что-то, как это должно работать (очевидно, с правильными именами полей/таблиц)

SELECT BuildingNo, Floor, Zone, COUNT(Rooms) AS NoOfRooms 
FROM myTable 
GROUP BY BuildingNo, Floor, Zone 
ORDER BY BuildingNo, Floor, Zone 
+0

спасибо это работает отлично, я добавил еще один столбец (NoOfRooms/8 по запросуLabor), но проблема в том, что мне нужно округлить значение (например, NoOfRooms = 25, тогда я должен получить «4») – user3116746

+0

Если вы используете SQL Server 2012, вы можете использовать функцию ROUNDUP, иначе используйте Функция CEILING выглядит следующим образом: SELECT CEILING (25.0/8.0) (обратите внимание, как я использую float, а не целые числа). См. Также: http://stackoverflow.com/questions/4216506/rounding-up-in-sql-server – Brendan

+0

select *, ПОТОЛОК (NoOfRooms/8) как Labourcount from (еще один sel ect Query) y order by BuildingNo, FloorNo, Zone ... это не округление. Если я использую ПОТОЛОК (NoOfRooms/8 as float) как Labourcount ... тогда он дает ошибку – user3116746

Смежные вопросы