The integration of the Internet of Things (IoT) paradigm into web services and cloud computing allows us to handle thousands of sensors and their data. In this regard, sensing as a service model has recently emerged and the data generated by these sensors can be reused by different users and applications within IoT middleware solutions. With the huge number of sensors available in the IoT environment, the crucial challenge is how to efficiently search and select the best sensors depending on the users’ requirements. This paper aims to exploit the power of a dynamic skyline operator in the field of multi-criteria decision making, to reduce the search space for the purpose of improving the efficiency of context-awareness and selecting the best sensors following the users’ request. The architecture adopted in this proposition is composed by several gateways distributed in the network and connected with a server, where each gateway must respond to user requests locally. Hereafter, the server will aggregate the results of all gateways and give the final answer. The experimentation shows the efficiency of our method in comparison to existing ones.