Successful integration of multi-constellation GNSS satellites allows the positioning availability in urban areas to be greatly improved. However, when a receiver is in an open sky environment, the number of in-view satellites might be up to 50, and tracking all visible satellites increases the computation load of GNSS receiver which would be an important issue of utilizing low-cost commercial GNSS receivers. To reduce such burden while keeping the benefits of the multi-GNSS system, this research presents a new satellite selection algorithm. The proposed algorithm allows a multi-GNSS receiver to select a subset of visible satellites and to provide adequate positioning solutions at the same time. Moreover, the proposed satellite selection algorithm also shortens the calculation time to further reduce the power consumption of receiver. In order to achieve these objectives, this research starts from discussing three important issues related to satellite selection, and they are 1) influence of number of selected satellites; 2) influence of satellite geometry; 3) influence of measurement error. Most of the existing satellite selection methods pay attention on the satellite geometry only. If the satellite distribution is good but the measurements are contaminated by some unusual errors or larger noise, then the positioning solution would be severely degraded. Different from other satellite selection algorithms, the proposed algorithm is not only interested in satellite distribution, but also considered measurements qualities and performances of different GNSS constellations. Accordingly, the dilution of precision (DOP) value is selected to represent the satellite geometry distribution. The quality analysis is used to test the irregular or redundant measurements, and the least numbers of satellite selected for the selection algorithm are also compared in this process. After that, based on considering all the suggestions and conclusions from the three above mentioned issues, a new satellite selection algorithm is presented. Finally, this research verifies the proposed algorithm by testing all the satellite distributions for the user. GPS, GLONASS and BDS are selected to conduct the comparison study of the receiver performance with the proposed satellite selection algorithm. Considering that GPS satellites distributions period is every 1 sidereal day, BDS is 7 and GLONASS is 8, the satellite selection algorithm has been verified by 8-day real data to show the overall performance. The analyses of using the proposed satellite selection algorithm are divided into: 1) constellation geometry distribution after satellite selection, 2) positioning accuracy after satellite selection, and 3) the overall calculation time. Moreover, these results are compared with the optimal satellite selection algorithm (OSSA). The OSSA computes all possible DOP values from all satellite combinations, then selects the solution with minimum DOP value. In this paper, the OSSA algorithm is used to present the best geometry combination of the satellites to evaluate that of the proposed algorithm. As shown in the experiment results, this research presents that users are able to use less satellites to achieve accurate positioning result. Importantly, the proposed satellite selection algorithm could maintain the positioning accuracy while reducing the computation time as well.