Question: I'm setting up a device to advertise as a server (peripheral) and a mobile phone to act as the client (central). My issue is: when my central 'reads' from the peripheral, how many packets can the peripheral respond with for a single request?

What I have seen so far is that the peripheral may respond with a 20 byte packet and then indicate another 20 byte packet. I don't see how this could achieve the stated data rates?

Answer: 
Something like :

```
select person_id from vehicle
group by person_id
having
count(case when has_gps then 1 end ) > 0
and
count(case when has_ac then 1 end ) > 0
and
count(*) > 1

```

?
Using `GROUP BY` with `HAVING` give the expected result:

```
SELECT person_id
FROM vehicle
WHERE has_gps = true OR has_ac = true 
GROUP BY person_id
HAVING COUNT(*) > 1

```

[Demo on db<>fiddle](https://dbfiddle.uk/?rdbms=postgres_11&fiddle=d1eaf4c12fabc4eb333e2881ece9104a)