为了只显示我需要查的字段:
// 使用Squirrel构建查询
query2, args, err := squirrel.Select(
"DISTINCT playerId",
"SUM(totalScore) AS totalScoreSum",
"SUM(totalRounds) AS totalRoundsSum",
).From("tb_player_total").Where(
squirrel.Eq{"deleted": 0},
).Where((squirrel.Eq{"seasonId": seasonIdList})).GroupBy("playerId").
OrderBy("id DESC").ToSql()
if err != nil {
log.Fatal(err)
}
err2 := m.conn.QueryRowsPartialCtx(context.Background(), &playerTotal, query2, args...)
//sql 语句是:select playerId,SUM(totalScore) AS totalScoreSum from tb_player_total where deleted=0 and seasonId in (111111,2222) group by playerId order by id DESC
如果按以下的写法,查询的字段是全部的字段+自己定义的聚合字段
builder2 := squirrel.Select("DISTINCT playerId", "SUM(totalScore) AS totalScoreSum")
builder2 = builder2.From("tb_player_total")
builder2 = builder2.Where(squirrel.Eq{"deleted": 0})
builder2 = builder2.Where((squirrel.Eq{"seasonId": seasonIdList}))
builder2 = builder2.GroupBy("playerId")
以此记录一下