Groupby on multiple fields using DQL

query queryUserStatusAggregation($eventFilter: string, $startTime: string, $endTime: string) {	
            filteredStatuses as var(func: type(UserStatus))
                @cascade(UserStatus.event)
                @filter(between(UserStatus.time, $startTime, $endTime))
            {
                UserStatus.event @filter(uid($eventFilter)) {
                    uid
                }
            }

            queryUserUserStatusAggregation(func: uid(filteredStatuses))
                @groupby(key: UserStatus.type)
            {
                count(uid)
            }
        }

Response

{
  "data": {
    "queryUserStatusAggregation": [
      {
        "@groupby": [
          {
            "key": "UNREGISTERED",
            "count": 2
          },
          {
            "key": "REGISTERED",
            "count": 3
          }
        ]
      }
    ]
  }
}

The above query works fine but I want to groupby multiple fields

@groupby(key: [UserStatus.type, UserStatus.time, User.id])

Also, I’m curious about

  1. How can I extract the Date from the DateTime field just like we do in SQL using Extract function and then use it inside the groupby
  2. How can we convert the timezone at runtime while querying the data.