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

Mohu použít sloupec, který jsem později v dotazu vybral?

Použijte:

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

Nejstarší MySQL umožňuje odkazy na aliasy sloupců GROUP BY doložka; klauzule za tím podporují odkazy (HAVING , ORDER BY ). Většina ostatních databází nepodporuje odkazování na alias tabulky před ORDER BY , což obvykle vyžaduje použití odvozené tabulky/inline zobrazení:

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

V opačném případě musíte znovu použít logiku v klauzuli WHERE:

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


  1. Jak zkontrolovat, zda daná data existují ve více tabulkách (všechny mají stejný sloupec)?

  2. Problémy při používání Microsoft Access Runtime

  3. Průměr dat za každých 5 minut v daných časech

  4. Při použití SELECT nevidím hodnotu pole BIT MySQL