## 概要
Sqlalchemy を使っている時に、データのカウントをしたい時、
さらにデータをフィルター(where句)をつけてカウントしたい時はこう書く、というのを忘れないように書いておきます。
where句を使わずに全件カウントする時
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.engine import Result
from sqlalchemy import select
from sqlalchemy.orm import joinedload
from sqlalchemy.sql.expression import func
result: Result = await db.execute(func.count(log_model.Log.id))
logs = result.scalar()
where句を使う時
user_counts_client = await db.scalar(
select(func.count())
.select_from(user_model.User)
.filter(user_model.User.role == "client")
)
以上です。