Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

GROUP BY mengembalikan catatan pertama

Saya berasumsi Anda sedang membicarakan sesuatu seperti

SELECT  *
FROM    mytable
GROUP BY
        column

Anda tidak boleh menggunakan ekspresi yang tidak teragregasi di GROUP BY kecuali mereka semua sama dalam grup.

Jika Anda ingin mengembalikan record yang memegang nilai ekspresi terkecil dalam grup, gunakan ini:

SELECT  mo.*
FROM    (
        SELECT  DISTINCT column
        FROM    mytable
        ) md
JOIN    mytable mo
ON      mo.id = 
        (
        SELECT  id
        FROM    mytable mi
        WHERE   mi.column = md.column
        ORDER BY
                mi.column, mi.someorder
        LIMIT 1
        )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masukkan Blob di database MySql dengan php

  2. hapus baris dengan fungsi ajax dan php

  3. Hitung semua simpul anak dari data hierarkis dalam sebuah tabel

  4. Tarik kolom dari tabel turunan dan jumlahkan dalam satu pernyataan MySQL SELECT

  5. Cari tabel mysql mulai dari baris terakhir