// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.29.0 // source: league_stats.sql package dbgen import ( "context" ) const GetLeagueEventStat = `-- name: GetLeagueEventStat :many SELECT leagues.id, leagues.name, COUNT(*) AS total_events, COUNT(*) FILTER ( WHERE events.status = 'upcoming' ) AS pending, COUNT(*) FILTER ( WHERE events.status = 'in_play' ) AS in_play, COUNT(*) FILTER ( WHERE events.status = 'to_be_fixed' ) AS to_be_fixed, COUNT(*) FILTER ( WHERE events.status = 'ended' ) AS ended, COUNT(*) FILTER ( WHERE events.status = 'postponed' ) AS postponed, COUNT(*) FILTER ( WHERE events.status = 'cancelled' ) AS cancelled, COUNT(*) FILTER ( WHERE events.status = 'walkover' ) AS walkover, COUNT(*) FILTER ( WHERE events.status = 'interrupted' ) AS interrupted, COUNT(*) FILTER ( WHERE events.status = 'abandoned' ) AS abandoned, COUNT(*) FILTER ( WHERE events.status = 'retired' ) AS retired, COUNT(*) FILTER ( WHERE events.status = 'suspended' ) AS suspended, COUNT(*) FILTER ( WHERE events.status = 'decided_by_fa' ) AS decided_by_fa, COUNT(*) FILTER ( WHERE events.status = 'removed' ) AS removed FROM leagues JOIN events ON leagues.id = events.league_id GROUP BY leagues.id, leagues.name ` type GetLeagueEventStatRow struct { ID int64 `json:"id"` Name string `json:"name"` TotalEvents int64 `json:"total_events"` Pending int64 `json:"pending"` InPlay int64 `json:"in_play"` ToBeFixed int64 `json:"to_be_fixed"` Ended int64 `json:"ended"` Postponed int64 `json:"postponed"` Cancelled int64 `json:"cancelled"` Walkover int64 `json:"walkover"` Interrupted int64 `json:"interrupted"` Abandoned int64 `json:"abandoned"` Retired int64 `json:"retired"` Suspended int64 `json:"suspended"` DecidedByFa int64 `json:"decided_by_fa"` Removed int64 `json:"removed"` } func (q *Queries) GetLeagueEventStat(ctx context.Context) ([]GetLeagueEventStatRow, error) { rows, err := q.db.Query(ctx, GetLeagueEventStat) if err != nil { return nil, err } defer rows.Close() var items []GetLeagueEventStatRow for rows.Next() { var i GetLeagueEventStatRow if err := rows.Scan( &i.ID, &i.Name, &i.TotalEvents, &i.Pending, &i.InPlay, &i.ToBeFixed, &i.Ended, &i.Postponed, &i.Cancelled, &i.Walkover, &i.Interrupted, &i.Abandoned, &i.Retired, &i.Suspended, &i.DecidedByFa, &i.Removed, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil }