如何在MySQL的WHERE子句中使用计算字段?

时间:2015-03-05 09:06:12

标签: mysql

我有这样的查询:

SELECT client_id,name, last_name, email,  date_arrival,
  DATE_SUB(now(),INTERVAL 6 DAY) as date6before  FROM clients WHERE agent_id = 4 
    and  date_arrival > date6before

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT temp.* FROM (SELECT client_id,name, last_name, email,  date_arrival, DATE_SUB(now(),INTERVAL 6 DAY) as date6before  FROM clients WHERE agent_id = 4 ) as temp WHERE temp.date_arrival > date6before

答案 1 :(得分:0)

您可以再次计算值:

SELECT client_id,name, last_name, email,  date_arrival,
  DATE_SUB(now(),INTERVAL 6 DAY) as date6before  FROM clients WHERE agent_id = 4 
    and  date_arrival > DATE_SUB(now(),INTERVAL 6 DAY) 

using having条款

SELECT client_id,name, last_name, email,  date_arrival,
  DATE_SUB(now(),INTERVAL 6 DAY) as date6before  FROM clients WHERE agent_id = 4 
    having  date_arrival > date6before