第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何顯示查詢結(jié)果計(jì)數(shù)

如何顯示查詢結(jié)果計(jì)數(shù)

Go
暮色呼如 2023-06-05 19:34:02
我正在做一個(gè) RESTful API 項(xiàng)目,我的代碼可以用 gorm 查詢,我的查詢是這樣的countSequenceId := db.Debug().Raw("SELECT COUNT (*) FROM SMSBlast2").Scan(&smsblast1)。我得到了結(jié)果[1 rows affected or returned],這意味著成功地計(jì)算了我在數(shù)據(jù)庫(kù)中的所有行,但我想顯示結(jié)果result count = 10,但是如何?package mainimport (    "encoding/json"    "fmt"    "github.com/gorilla/mux"    "github.com/jinzhu/gorm"    _ "github.com/jinzhu/gorm/dialects/mssql"    "log"    "net/http"    "strconv"    "time")type SMSBlast struct {    SequenceID   int `gorm:"primary_key";column:"SequenceID"`    MobilePhone string `gorm:"column:MobilePhone"`    Output  string  `gorm:"column:Output"`    WillBeSentDate *time.Time `gorm:"column:WillBeSentDate"`    SentDate *time.Time `gorm:"column:SentDate"`    Status *string `gorm:"column:Status"`    DtmUpd time.Time `gorm:"column:DtmUpd"`}func (SMSBlast) TableName() string {    return "SMSBlast2"}func allSMSBlasts(w http.ResponseWriter, r *http.Request){    db, err := gorm.Open("mssql", "sqlserver://sa:@localhost:1433?database=CONFINS")    if err != nil{        panic("failed to connect database")    }    defer db.Close()    var smsblasts []SMSBlast    db.Debug().Find(&smsblasts)    fmt.Println("{}",smsblasts)    json.NewEncoder(w).Encode(smsblasts)}func insertSMSBlast(w http.ResponseWriter, r *http.Request){    fmt.Println("New Insert Created")    db, err := gorm.Open("mssql", "sqlserver://sa:@localhost:1433?database=CONFINS")    if err != nil{        panic("failed to connect database")    }    defer db.Close()    vars := mux.Vars(r)    mobilephone := vars["mobilephone"]    output := vars["output"]    var(        smsblast1 SMSBlast    )    countSequenceId := db.Debug().Raw("SELECT COUNT (*) FROM SMSBlast2").Scan(&smsblast1)    fmt.Println(countSequenceId)    msg, err :=  json.Marshal(countSequenceId)    if err != nil{        fmt.Println(err.Error())    }
查看完整描述

1 回答

?
侃侃無(wú)極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

我不確定你為什么為此使用 Raw 方法,但我想指出有一個(gè) Count 方法可以實(shí)現(xiàn)你想要的:

db.Where("name = ?", "jinzhu").Or("name = ?", "jinzhu 2").Find(&users).Count(&count)

//// SELECT * from USERS WHERE name = 'jinzhu' OR name = 'jinzhu 2'; (users)

//// SELECT count(*) FROM users WHERE name = 'jinzhu' OR name = 'jinzhu 2'; (count)


db.Model(&User{}).Where("name = ?", "jinzhu").Count(&count)

//// SELECT count(*) FROM users WHERE name = 'jinzhu'; (count)

我從文檔中整理了一個(gè)非常簡(jiǎn)單的示例:


package main


import (

? ? "fmt"


? ? "github.com/jinzhu/gorm"

? ? _ "github.com/jinzhu/gorm/dialects/sqlite"

)


type Porg struct {

? ? gorm.Model

? ? Name string

}


func main() {

? ? db, err := gorm.Open("sqlite3", "test.db")

? ? if err != nil {

? ? ? ? panic("failed to connect database")

? ? }

? ? defer db.Close()


? ? // Migrate the schema

? ? db.AutoMigrate(&Porg{})


? ? // Create

? ? for i := 1; i <= 100; i++ {

? ? ? ? db.Create(&Porg{Name: "John"})

? ? }


? ? // Read

? ? var porgs []Porg

? ? var count int

? ? db.Model(&porgs).Count(&count)


? ? fmt.Println(count)

}

輸出:100


使用Model您可以指定要查詢的模型的方法,這不會(huì)直接查詢數(shù)據(jù)庫(kù)。使用db.Find(&porgs).Count(&count)實(shí)際上會(huì)向數(shù)據(jù)庫(kù)發(fā)送 2 個(gè) SQL 查詢。


查看完整回答
反對(duì) 回復(fù) 2023-06-05
  • 1 回答
  • 0 關(guān)注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)