Index: src/bp-groups/bp-groups-functions.php
===================================================================
--- src/bp-groups/bp-groups-functions.php
+++ src/bp-groups/bp-groups-functions.php
@@ -638,25 +638,24 @@
  * returning true.
  *
  * @since 1.0.0
+ * @since 3.0.0 $group_id now supports multiple values. Only works if legacy query is not
+ *              in use.
  *
  * @param array $args {
  *     An array of optional arguments.
- *     @type int      $group_id     ID of the group whose members are being queried.
- *                                  Default: current group ID.
- *     @type int      $page         Page of results to be queried. Default: 1.
- *     @type int      $per_page     Number of items to return per page of results.
- *                                  Default: 20.
- *     @type int      $max          Optional. Max number of items to return.
- *     @type array    $exclude      Optional. Array of user IDs to exclude.
- *     @type bool|int $value        True (or 1) to exclude admins and mods from results.
- *                                  Default: 1.
- *     @type bool|int $value        True (or 1) to exclude banned users from results.
- *                                  Default: 1.
- *     @type array    $group_role   Optional. Array of group roles to include.
- *     @type string   $search_terms Optional. Filter results by a search string.
- *     @type string   $type         Optional. Sort the order of results. 'last_joined',
- *                                  'first_joined', or any of the $type params available
- *                                  in {@link BP_User_Query}. Default: 'last_joined'.
+ *     @type int|array|string $group_id            ID of the group to limit results to. Also accepts multiple values
+ *                                                 either as an array or as a comma-delimited string.
+ *     @type int              $page                Page of results to be queried. Default: 1.
+ *     @type int              $per_page            Number of items to return per page of results. Default: 20.
+ *     @type int              $max                 Optional. Max number of items to return.
+ *     @type array            $exclude             Optional. Array of user IDs to exclude.
+ *     @type bool|int         $exclude_admins_mods True (or 1) to exclude admins and mods from results. Default: 1.
+ *     @type bool|int         $exclude_banned      True (or 1) to exclude banned users from results. Default: 1.
+ *     @type array            $group_role          Optional. Array of group roles to include.
+ *     @type string           $search_terms        Optional. Filter results by a search string.
+ *     @type string           $type                Optional. Sort the order of results. 'last_joined', 'first_joined', or
+ *                                                 any of the $type params available in {@link BP_User_Query}. Default:
+ *                                                 'last_joined'.
  * }
  * @return false|array Multi-d array of 'members' list and 'count'.
  */
Index: src/bp-groups/classes/class-bp-group-member-query.php
===================================================================
--- src/bp-groups/classes/class-bp-group-member-query.php
+++ src/bp-groups/classes/class-bp-group-member-query.php
@@ -24,20 +24,19 @@
  *   inviter_id = 0 (and invite_sent = 0).
  *
  * @since 1.8.0
+ * @since 3.0.0 $group_id now supports multiple values.
  *
  * @param array $args  {
  *     Array of arguments. Accepts all arguments from
  *     {@link BP_User_Query}, with the following additions:
  *
- *     @type int    $group_id     ID of the group to limit results to.
- *     @type array  $group_role   Array of group roles to match ('member',
- *                                'mod', 'admin', 'banned').
- *                                Default: array( 'member' ).
- *     @type bool   $is_confirmed Whether to limit to confirmed members.
- *                                Default: true.
- *     @type string $type         Sort order. Accepts any value supported by
- *                                {@link BP_User_Query}, in addition to 'last_joined'
- *                                and 'first_joined'. Default: 'last_joined'.
+ *     @type int|array|string $group_id     ID of the group to limit results to. Also accepts multiple values
+ *                                          either as an array or as a comma-delimited string.
+ *     @type array            $group_role   Array of group roles to match ('member', 'mod', 'admin', 'banned').
+ *                                          Default: array( 'member' ).
+ *     @type bool             $is_confirmed Whether to limit to confirmed members. Default: true.
+ *     @type string           $type         Sort order. Accepts any value supported by {@link BP_User_Query}, in
+ *                                          addition to 'last_joined' and 'first_joined'. Default: 'last_joined'.
  * }
  */
 class BP_Group_Member_Query extends BP_User_Query {
@@ -137,7 +136,9 @@
 		/* WHERE clauses *****************************************************/
 
 		// Group id.
-		$sql['where'][] = $wpdb->prepare( "group_id = %d", $this->query_vars['group_id'] );
+		$group_ids = wp_parse_id_list( $this->query_vars['group_id'] );
+		$group_ids = implode( ',', $group_ids );
+		$sql['where'][] = "group_id IN ({$group_ids})";
 
 		// If is_confirmed.
 		$is_confirmed = ! empty( $this->query_vars['is_confirmed'] ) ? 1 : 0;
