Top value in this query

Hi i have this query

from(bucket: "bucket")

|> range(start: -5m)
|> filter(fn: ® =>
r._measurement == “vsphere_host_cpu” and r._field == “usage_average” and r.cpu == “instance-total”
)
|> group(columns: [“esxhostname”], mode: “by”)
|> map(fn: ® => ({
_value: r._value,
esxhostname: r.esxhostname,
_timestamp: r._time
}))
|> last()

With this result

I want to show only 3 host with top value
How i can do this?
Thanks.