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

Jak opravit neznámý sloupec MySQL Query Alias? 2018

Podle Referenční příručka MySQL 5.7 ,

V klauzuli WHERE byste neměli používat alias, protože alias je generován při spuštění dotazu a nemusí být připraven, když se podmínka WHERE spustí. Dostanete alias je neznámá chyba sloupce, protože MySQL nezná alias, dokud není vygenerován jako výsledek dotazu. Proto zde nemůžete použít alias v klauzuli WHERE.

(Doplněk po úpravě otázky)

Požadovaný výsledek můžete získat následujícím dotazem:

SELECT r.id, r.url, MAX(date) as `max_date`
FROM report as r
GROUP BY id, url;

Vysvětlení dotazu:V SELECT klauzule zmiňujete pouze sloupce, které chcete zobrazit, MAX() funkce již sama vybere maximální hodnoty (nepotřebujete tedy klauzuli WHERE) a klauzule GROUP BY říká výsledku, aby seskupil všechny výsledky na základě id a poté url .




  1. Měl by existovat jeden SQLiteOpenHelper pro každou tabulku v databázi?

  2. mysql - hledání časového razítka podle hodiny dne

  3. Chyba připojení PHP k databázi

  4. Jak získat názvy sloupců tabulky v databázi v Zend?