sql >> Databasteknik >  >> RDS >> Mysql

Kan jag använda en kolumn som jag har valt senare i en fråga?

Använd:

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

Den tidigaste MySQL tillåter referenser till kolumnalias är GROUP BY klausul; satser efter det stödjer referenser (HAVING , ORDER BY ). De flesta andra databaser stöder inte hänvisning till ett tabellalias före ORDER BY , vilket vanligtvis kräver att du använder en härledd tabell/inlinevy:

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

Annars måste du återanvända logiken i WHERE-satsen:

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


  1. Hur man tar bort de efterföljande utrymmena efter månadens namn i Oracle

  2. 1130 Värden 'amazon-ec2-ip' får inte ansluta till denna MySQL-server

  3. Flytta modx-webbplatsen från undermapp till rotmapp

  4. Räkna hur många rader som har samma värde