亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用帶有 Gorm 的原始查詢從 psql 檢索 sum() 結果

使用帶有 Gorm 的原始查詢從 psql 檢索 sum() 結果

Go
精慕HU 2023-03-07 14:26:28
我的原始查詢是SELECT   at."category" AS "category",   at."month" AS "month",   sum(at.price_aft_discount) as "sum",   sum(at.qty_ordered) as "sum2" FROM   all_trans at GROUP BY   at."category",   at."month" ORDER BY   at."category" ASC,   at."month" asc在 DBeaver 中執行上述查詢時,總和列給出警告:sum: numeric(131089,0) (Read-only: No corresponding table column)。給出了相同的警告sum2我使用 Gorm 在 Go 中查詢保存結果的代碼是:type ATQueryResult struct {   category string  `gorm:"column:category"`   month    string  `gorm:"column:month"`   sum      float32 `gorm:"column:sum"`   sum2     float32 `gorm:"column:sum2"`}queryString := ... // same as abovevar result []ATQueryResultdb.Table(model.TableAllTrans).Raw(queryString).Find(&result)fmt.Println(result[3])但問題是,所有result[i].sum和result[i].sum2是0-zero。在 DBeaver 上實時查詢時,我可以看到實際的總和數(全部非零),盡管有上述警告。但是當我嘗試將查詢結果掃描到 時result,所有的總和值為 0。
查看完整描述

1 回答

?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

必須為 gorm(或它在引擎蓋下利用的任何東西)導出這些字段才能填充它們。嘗試使用:


type ATQueryResult struct {
    Category string  `gorm:"column:category"`
    Month    string  `gorm:"column:month"`
    Sum      float32 `gorm:"column:sum"`
    Sum2     float32 `gorm:"column:sum2"`}


查看完整回答
反對 回復 2023-03-07
  • 1 回答
  • 0 關注
  • 370 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號