sql >> Database teknologi >  >> RDS >> Mysql

Kan jeg bruge en kolonne, jeg har valgt senere i en forespørgsel?

Brug:

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

Den tidligste MySQL tillader referencer til kolonnealiasser er GROUP BY klausul; klausuler efter det understøtter referencer (HAVING , ORDER BY ). De fleste andre databaser understøtter ikke henvisning til et tabelalias før ORDER BY , hvilket typisk kræver brug af en afledt tabel/inline-visning:

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

Ellers skal du genbruge logikken i WHERE-sætningen:

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


  1. MySQL Opdater flere rækker i en enkelt kolonne baseret på værdier fra den samme kolonne

  2. Sådan overføres strengmatrix i SQL-parameter til IN-klausul i SQL

  3. Forskellen mellem PDO->query() og PDO->exec()

  4. eliminer duplikerede matrixværdier i postgres