sqlalchemy--group_concat的使用
时间: 2023-08-03 15:37:51 浏览: 45
在 SQLAlchemy 中,可以使用 `func.group_concat` 函数来执行 `GROUP_CONCAT` 操作。
示例代码:
```python
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData, func
engine = create_engine('mysql+pymysql://username:password@host/database')
metadata = MetaData()
# 定义表结构
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50)),
Column('age', Integer),
Column('gender', String(10))
)
with engine.connect() as conn:
# 查询 name 列的结果,使用逗号连接
query = conn.query(users.c.gender, func.group_concat(users.c.name, ',')).group_by(users.c.gender)
# 执行查询
result = query.all()
# 输出结果
for r in result:
print(r)
```
这个示例代码中,我们定义了一个名为 `users` 的表结构,然后使用 `func.group_concat` 函数在 `name` 列上执行 `GROUP_CONCAT` 操作,将结果以逗号连接。`group_by` 函数用于按照 `gender` 列对结果进行分组。最后,我们执行查询,并将结果输出到控制台上。
注意,这个示例代码中使用的是 MySQL 数据库。如果你使用的是其他类型的数据库,可能会有所不同。