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

Bagaimana saya bisa memilih hanya kecocokan pertama yang berbeda dari bidang di MySQL?

DISTINCT tidak bekerja seperti itu, nilainya harus berbeda di semua kolom yang dikembalikan.

Anda selalu dapat menggunakan fungsi agregat pada hash fungsi dan GROUP BY name yang akan mengembalikan satu hash nilai untuk setiap name :

SELECT name, min(hash) hash
FROM my_table 
WHERE name LIKE '%An%' 
GROUP BY name;

Lihat SQL Fiddle dengan Demo .

Catatan: menggunakan fungsi agregat dengan GROUP BY akan memastikan bahwa Anda akan selalu mengembalikan nilai yang diharapkan untuk hash kolom. Bila Anda tidak GROUP BY atau agregat item dalam SELECT daftar, Anda mungkin mengembalikan hasil yang tidak terduga. (lihat Ekstensi MySQL ke GROUP BY )

Dari Dokumen MySQL:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada cara di MySQL untuk membalikkan bidang boolean dengan satu permintaan?

  2. MySQL :jumlah setiap hari

  3. GALAT 2002 (HY000):Tidak dapat terhubung ke server MySQL lokal melalui soket '/tmp/mysql.sock'

  4. Menggunakan SQL LIKE dan IN bersama-sama

  5. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan mysql_connect()