This Pro tutorial provides the steps to order posts in Bricks by the value of a Number-type of sub field that is inside a Meta Box group.
Use case: Sort posts by year.
If the year field were not inside a group, it is straight forward to order by the field value:

But if the field is inside a group like this:

there is no built-in way, that I know of, to set up ordering using the controls that Bricks provides in the editor.
What Bricks does provide however, is a set of excellent filter hooks for developers to modify most aspects of the output programmatically.
We shall use the bricks/query/result filter to intercept the query result by
- getting the array of post objects in the result
- getting the array of post IDs
- sorting the above array using a custom comparison function
- getting the array of post objects from the above sorted array of post IDs
- setting the posts property of the result object to the above array of sorted post objects
to arrange the posts in the order of those that have the sub field populated in either ascending or descending order followed by the rest in the default date descending order.
Sample data from our test site:
Event 0:

Event 1: 2026
Event 2: 2023
Event 3: 2022
Event 7: 2040
(rest of the event entries have the field empty)
On the front end before implementing the tutorial:

On the front end after implementing the tutorial – with posts arranged by the Event Year sub field in descending order:

Step 1
Inside a Section’s Container, add a Posts element or set up a query loop on a Block element.
Configure the query and set
Order by: Meta numeric value
If you are not editing a template that applies to the event CPT archive, set Post type to Events.

Add the following in child theme‘s functions.php or a code snippets plugin:
// Use this filter to order posts by Meta Box group's (event_group) sub field (event_year) value
add_filter( 'bricks/query/result', function( $result, $query_obj ) {
// Return: Element ID is not "qayxii", nor is it a post query
if ( $query_obj->element_id !== 'qayxii' || $query_obj->object_type !== 'post' ) {
return $result;
}
if ( ! empty( $result ) ) {
// array of post objects
$postObjects = $result->posts;
// array of post IDs
$postIDs = wp_list_pluck( $postObjects, 'ID' );
usort( $postIDs, function( $x, $y ) {
$xGroup = rwmb_meta( 'event_group', '', $x ) ?: [];
$xValue = $xGroup[ 'event_year' ] ?? '';
$yGroup = rwmb_meta( 'event_group', '', $y ) ?: [];
$yValue = $yGroup[ 'event_year' ] ?? '';
return $xValue <=> $yValue;
} );
// reverse it to sort in descending order
$postIDs = array_reverse( $postIDs );
// get the array of post objects by the above post IDs
$posts = array_map( function( $post_id ) {
return get_post( $post_id );
}, $postIDs );
// set the posts property of the result object to the above array of post objects
$result->posts = $posts;
}
return $result;
}, 10, 2 );
Replace qayxii with the Bricks ID of your Posts or query loop element.
Check the front end.
Reference
https://docs.metabox.io/extensions/meta-box-group/#getting-sub-field-values