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

mysql AS-klausul

En måde at gøre dette på er at pakke den oprindelige forespørgsel som en underforespørgsel og flytte WHERE klausul til den ydre forespørgsel:

SELECT * FROM (
  SELECT `candidates`.`candidate_id`, -- this is the original query
     `candidates`.`first_name`, 
     `candidates`.`surname`, 
     `candidates`.`DOB`, 
     `candidates`.`gender`, 
     DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) AS `age` 
  FROM `candidates` ) as innertable
WHERE `age` <= 20  -- this is now part of the outer query

præcisering:dette virker i MySQL 5

bemærk:dette forudsætter, at den oprindelige forespørgsel virker



  1. Aritmetisk overløbsfejl ved konvertering af udtryk til datatype datetime. (mens dato og klokkeslæt vises..)

  2. Sådan opretter du en tom database i Access 2016

  3. Forbind med lokal-infil Option i MySql Workbench

  4. bindestreg i MySQL rækkefølge efter klausul