Heim > Artikel > Backend-Entwicklung > Wie sortiere ich Datenbankeinträge in Golang?
In Golang können Abfrageergebnisse mithilfe der ORDER BY-Klausel im Datenbank-/SQL-Paket sortiert werden. Syntax: func (db *DB) Query(query string, args ...interface{}) (*Zeilen, Fehler) Sortierbeispiel: SELECT * FROM users ORDER BY name ASC Andere Sortieroptionen: DESC (absteigend), mehrere Spalten ( Komma getrennt), NULL-Wert-Sortierreihenfolge (NULLS FIRST oder NULLS LAST) Praktischer Fall: Sortieren Sie Bestellungen in absteigender Reihenfolge nach „order_date“: SELECT * FROMorders ORDER BY order_date DESC.
Wenn Sie das Datenbank-/SQL-Paket zum Betreiben der Datenbank in Golang verwenden, können Sie die ORDER BY
-Klausel verwenden, um die Abfrageergebnisse zu sortieren. ORDER BY
子句对查询结果进行排序。
语法:
func (db *DB) Query(query string, args ...interface{}) (*Rows, error)
排序示例:
以下示例演示如何对名为 "users" 的表中的记录按 "name" 列升序排序:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { // 连接到数据库 db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database") if err != nil { panic(err) } defer db.Close() // 构建查询 query := `SELECT * FROM users ORDER BY name ASC` // 执行查询 rows, err := db.Query(query) if err != nil { panic(err) } defer rows.Close() // 遍历结果 for rows.Next() { var id int var name, email string if err := rows.Scan(&id, &name, &email); err != nil { panic(err) } fmt.Printf("%d %s %s\n", id, name, email) } }
其他排序选项:
ORDER BY name DESC, age ASC
NULLS FIRST
或 NULLS LAST
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 连接到数据库
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database")
if err != nil {
panic(err)
}
defer db.Close()
// 构建查询
query := `SELECT * FROM orders ORDER BY order_date DESC`
// 执行查询
rows, err := db.Query(query)
if err != nil {
panic(err)
}
defer rows.Close()
// 遍历结果
for rows.Next() {
var orderID, customerID int
var orderDate string
if err := rows.Scan(&orderID, &customerID, &orderDate); err != nil {
panic(err)
}
fmt.Printf("%d %d %s\n", orderID, customerID, orderDate)
}
}
ORDER BY name DESC, age ASC
🎜🎜NULL-Werte: 🎜Verwenden Sie NULLS FIRST
oder NULLS LAST
, um anzugeben, ob NULL-Werte am Anfang oder am Ende der Ergebnismenge platziert werden sollen 🎜🎜🎜🎜Praktisch Beispiel: 🎜🎜🎜Angenommen, wir haben eine Tabelle „Bestellungen“, die die Spalten „order_id“, „customer_id“ und „order_date“ enthält. Wir können ein Golang-Programm schreiben, um Bestellungen nach „order_date“ in absteigender Reihenfolge zu sortieren: 🎜rrreeeDas obige ist der detaillierte Inhalt vonWie sortiere ich Datenbankeinträge in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!