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

Czy mogę użyć kolumny, którą wybrałem później w zapytaniu?

Użyj:

SELECT `id`,
       `hits` + `other_hits` AS `total_hits`
  FROM `something`
HAVING `total_hits` > 30

Najwcześniejszym MySQL pozwalającym na odniesienia do aliasów kolumn jest GROUP BY klauzula; klauzule po tym obsługują odwołania (HAVING , ORDER BY ). Większość innych baz danych nie obsługuje odwoływania się do aliasu tabeli przed ORDER BY , co zwykle wymaga użycia pochodnej tabeli/widoku wbudowanego:

SELECT t.id, t.total_hits
  FROM (SELECT `id`,
               `hits` + `other_hits` AS `total_hits`
          FROM `something`) t
 WHERE t.total_hits > 30

W przeciwnym razie musisz ponownie użyć logiki w klauzuli WHERE:

SELECT `id`,
       `hits` + `other_hits` AS `total_hits`
  FROM `something`
 WHERE `hits` + `other_hits` > 30


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Modelowanie wariantów produktów

  2. Wiele JOINS tabeli MySQL wymaga połączenia wyników 1 tabeli w jedno pole kolumny

  3. Nie określono lokalizacji pliku konfiguracyjnego MySQL (np. my.cnf)

  4. Jak wstawiać rekordy z tabeli do innej bez duplikatów

  5. relacje rodzic-dziecko