【问题标题】:i would like to manipulate the "AS age" column from table1我想从 table1 操作“AS 年龄”列
【发布时间】:2019-07-10 09:31:31
【问题描述】:

下面是我写的查询

SELECT *, YEAR(CURDATE()) - YEAR(age) AS age FROM table1

我想从上面的查询中操作“年龄”列

例如:

SELECT  * FROM table1 WHERE age BETWEEN 1 AND 9

我怎样才能从这个查询中做到这一点

SELECT *, YEAR(CURDATE()) - YEAR(age) AS age FROM table1

我的结果将是返回包含年龄范围的行

【问题讨论】:

    标签: mysql sql xampp


    【解决方案1】:

    您可以将query 用作subquery 之类的

    SELECT t2.* FROM
    ( SELECT t1.*, YEAR(CURDATE()) - YEAR(age) AS age FROM table1 t1 ) t2
    WHERE t2.age BETWEEN 1 and 9
    

    【讨论】:

      【解决方案2】:

      MySQL 提供了对HAVING 子句的扩展,允许您做任何您想做的事情:

      SELECT *, YEAR(CURDATE()) - YEAR(date) AS age
      FROM table1
      HAVING age BETWEEN 1 AND 9;
      

      注意:我假设您有某种想要年份的 date 列。以 age 的年份命名并没有什么意义。

      【讨论】:

      • 查询设法返回该年龄范围之间的行,现在我想计算这些行,我将该查询操作为:SELECT COUNT( YEAR(CURDATE()) - YEAR(purchaseDate)) AS从 productsmarket 开始的年龄在 1 到 9 岁之间没有任何回报,我怎样才能让它发挥作用?
      猜你喜欢
      • 2018-10-29
      • 2021-09-03
      • 2017-02-05
      • 1970-01-01
      • 2019-11-05
      • 2012-03-09
      • 2021-08-18
      • 2020-10-08
      • 2013-12-10
      相关资源
      最近更新 更多