Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak naprawić nieznaną kolumnę MySQL Query Alias? 2018

Zgodnie z Podręcznikiem MySQL 5.7 ,

Nie należy używać aliasu w klauzuli WHERE, ponieważ alias jest generowany po uruchomieniu zapytania i może nie być gotowy po wykonaniu warunku WHERE. Otrzymany błąd aliasu jest nieznaną kolumną, ponieważ MySQL nie zna aliasu, dopóki nie zostanie wygenerowany w wyniku zapytania. Dlatego nie możesz użyć aliasu w klauzuli WHERE tutaj.

(Dodawanie po edycji pytania)

Możesz uzyskać pożądany wynik za pomocą następującego zapytania:

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

Wyjaśnienie zapytania:w SELECT klauzula wspominasz tylko kolumny, które chcesz wyświetlić, MAX() funkcja sama wybierze maksymalne wartości (więc nie potrzebujesz klauzuli WHERE), a klauzula GROUP BY mówi wynikowi, aby pogrupować wszystkie wyniki na podstawie id a następnie url .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć dwie kolumny MySQL w jedną?

  2. Bezpieczeństwo podstawowe, PHP mySQl

  3. Czy usunięcie tabeli w MySQL powoduje również usunięcie indeksów?

  4. Wybierz wiersze, aż zostanie osiągnięta łączna kwota w kolumnie (mysql)

  5. Kolumny przyrostu w laraveli