sql >> Databáze >  >> RDS >> Mysql

Jak mohu vybrat pouze první odlišnou shodu z pole v MySQL?

DISTINCT takto nefunguje, hodnoty musí být odlišné ve všech vracených sloupcích.

Na hash můžete vždy použít agregační funkci funkce a GROUP BY name který vrátí jeden hash hodnotu pro každý name :

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

Viz SQL Fiddle s ukázkou .

Poznámka: pomocí agregační funkce s GROUP BY zajistí, že vždy vrátíte očekávanou hodnotu hash sloupec. Když neučiníte GROUP BY nebo agregujte položky v SELECT seznamu, můžete vrátit neočekávané výsledky. (viz Rozšíření MySQL do GROUP BY )

Z dokumentů MySQL:



  1. Jak používat proměnné Mysql s Hibernate?

  2. Jak nastavím MySQL dočasně na pouze pro čtení prostřednictvím příkazového řádku?

  3. Vyplnění zobrazené hodnoty položky na dotaz v Oracle Forms

  4. Jak získat aktuální týdenní data v MySQL