Your Question

Is it possible build "SELECT DISTINCT ON" query using sql builder?

The document you expected this should be explained

https://gorm.io/docs/query.html#Distinct

Expected answer

Sample table example:

CREATE TABLE browsers (
    name character varying,
    version integer
);

INSERT INTO browsers VALUES ('chrome', 68);
INSERT INTO browsers VALUES ('chrome', 69);
INSERT INTO browsers VALUES ('chrome', 70);
INSERT INTO browsers VALUES ('firefox', 40);
INSERT INTO browsers VALUES ('firefox', 41);

I want to build the query below using sql builder

SELECT DISTINCT ON (name)
  name,
  version
FROM
  browser
ORDER BY
  name,
  version DESC

Expected output (browser name and latest version):

|name   |version|
|-------|-------|
|chrome |71     |
|firefox|41     |

Comment From: a631807682

Sorry, Distinct api not support it, you can use Select with raw query.

DB.Select("DISTINCT ON (name) name", "version").Order("name").Order("version desc").Find()

Comment From: github-actions[bot]

This issue has been automatically marked as stale because it has been open 360 days with no activity. Remove stale label or comment or this will be closed in 180 days