GORMでdistinct

GORMはGo言語でよく使われているORMの一つです。

GORM ガイド | GORM - The fantastic ORM library for Golang, aims to be developer friendly. ても便利なのですが、distinct(レコードの重複をまとめる)は未実装でした。

したがって、distinctを実現するためには生SQLを実行する必要があります。

以下の記事を参照。

Advanced Usage · GORM Guide

type Result struct {
    Name string
    Age  int
}

var result Result
db.Raw("SELECT name, age FROM users WHERE name = ?", 3).Scan(&result)

覚えておいて損はなさそう。