Golang では、database/sql パッケージの ORDER BY 句を使用してクエリ結果を並べ替えることができます。構文: func (db *DB) Query(クエリ文字列, args ...interface{}) (*Rows, error) 並べ替えの例: SELECT * FROM users ORDER BY name ASC その他の並べ替えオプション: DESC (降順)、複数列 (カンマ区切り)、NULL 値の並べ替え順序 (NULLS FIRST または NULLS LAST) 実際のケース: 「order_date」による降順で並べ替えます: SELECT * FROM 順序 ORDER BY order_date DESC。
database/sql パッケージを使用して Golang でデータベースを操作する場合、ORDER BY
句を使用してクエリ結果を並べ替えることができます。 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
以上がGolangでデータベースレコードを並べ替える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。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 値: 🎜 NULLS FIRST
または NULLS LAST
を使用して、結果セットの先頭または末尾に NULL 値を配置するかどうかを指定します 🎜🎜🎜🎜実用的例: 🎜🎜🎜「order_id」、「customer_id」、および「order_date」列を含む「orders」テーブルがあるとします。注文を「order_date」で降順に並べ替える Golang プログラムを作成できます: 🎜rrreee