How to realize `count + distinct + group_by` query?
Pretty straightforward:

```python
query = (PortInfo
         .select(PortInfo.state, fn.COUNT(PortInfo.ip.distinct(), PortInfo.port))
         .group_by(PortInfo.state))
```

Translates into:

```sql
SELECT "t1"."state", COUNT(DISTINCT "t1"."ip", "t1"."port") 
FROM "portinfo" AS "t1" 
GROUP BY "t1"."state"
```
SQL like this:
```
-- portinfo: ip port state
SELECT
	state,
	count( DISTINCT ip, port )
FROM
	port_info
GROUP BY
	state
```
I have tried 2 method, use `concat_ws`  or `subquery`.  Is there a more elegant way to write this sql in peewee?