Если у вас есть рабочий запрос SQL, вы можете использовать его непосредственно в Hibernate.Hibernate может выполнить эти запросы и обернуть результат запроса в объекты.
См. этот документ о сопоставлении класса сущности в запросе SQL .Это из обычного Hibernate (не NHibernate), но что-то подобное должно работать в вашем случае.
Сначала создайте класс, который содержит результат запроса (например, Result) и содержит ссылки на необходимые объекты (Sales and Service)
String sql = "SELECT sales_id, service_id,dayofyear(dt), max(dt) "
"FROM clients.statistics " +
"group by sales_id, service_id, dayofyear(dt)";
sess.createSQLQuery(sql).addEntity("result", Result.class)
.addJoin("result.sales").addJoin("result.services");