แบบสอบถามที่ง่ายที่สุดในการเขียนสำหรับ MySQL (ที่มีการตั้งค่า ANSI ไม่เข้มงวด) ใช้การก่อสร้างที่ไม่ได้มาตรฐาน:
SELECT key, value
FROM tableX
GROUP BY key ;
ในเวอร์ชันล่าสุด (5.7 และ 8.0+) ซึ่งเป็นการตั้งค่าที่เข้มงวดและONLY_FULL_GROUP_BYเป็นค่าเริ่มต้นคุณสามารถใช้ANY_VALUE()ฟังก์ชันเพิ่มใน 5.7:
SELECT key, ANY_VALUE(value) AS value
FROM tableX
GROUP BY key ;
สำหรับ DBMS อื่น ๆ ที่มีฟังก์ชั่นหน้าต่าง (เช่น Postgres, SQL-Server, Oracle, DB2) คุณสามารถใช้สิ่งเหล่านี้ได้ ข้อดีคือคุณสามารถเลือกคอลัมน์อื่น ๆ ในผลลัพธ์ได้เช่นกัน (นอกเหนือจากkeyและvalue):
SELECT key, value
FROM tableX
    ( SELECT key, value,
             ROW_NUMBER() OVER (PARTITION BY key 
                                ORDER BY whatever)     --- ORDER BY NULL
               AS rn                                   --- for example
      FROM tableX
    ) tmp 
WHERE rn = 1 ;
สำหรับเวอร์ชันเก่าของข้างต้นและสำหรับ DBMS อื่น ๆ เป็นวิธีทั่วไปที่ทำงานได้เกือบทุกที่ ข้อเสียอย่างหนึ่งคือคุณไม่สามารถเลือกคอลัมน์อื่นด้วยวิธีนี้ อีกอย่างคือฟังก์ชั่นรวมที่ชอบMIN()และMAX()ไม่ทำงานกับบางประเภทข้อมูลในบาง DBMS (เช่นบิต, ข้อความ, blobs):
SELECT key, MIN(value) AS value
FROM tableX
GROUP BY key ;
PostgreSQL มีDISTINCT ONโอเปอเรเตอร์ที่ไม่ได้มาตรฐานซึ่งสามารถใช้ได้เช่นกัน ตัวเลือกORDER BYสำหรับการเลือกแถวจากทุกกลุ่มที่ควรเลือก:
SELECT DISTINCT ON (key) key, value
FROM tableX
-- ORDER BY key, <some_other_expressions> ;