我有一个名为datas的表,我有id
,start_date
,end_date
,day_count
,day_type
。
其中id
是主键,start end_date
是datetime,day_count
是int,day_type
是varchar。
现在day_type将DAY,WEEK,MONTH存储为用户发出请求时的值,而day field保存的天数为1到60天。
现在我想用这个计数并输入date_add mysql内置函数。
我试图将其传递给它,但显示错误。
SELECT
datas.day_count,
datas.day_type,
MIN( datas.start_date ) AS MinDate,
MAX( datas.end_date ) AS MaxDate,
DATE_ADD(MaxDate,INTERVAL datas.day_count datas.day_type) AS ExactDate,
datas.trade_service_id
FROM datas
Erro是
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'datas.day_type)) AS ExactDate, datas' at line 13
请小提示会很棒。
答案 0 :(得分:7)
这个查询适用于MySQL,但你究竟想在没有Group的情况下输出什么等等?
SELECT
datas.day_count,
datas.day_type,
MIN( datas.start_date ) AS MinDate,
MAX( datas.end_date ) AS MaxDate,
start_date, min(start_date) as min_date,
case day_type
when 'MONTH' then DATE_ADD(MAX( datas.end_date ),INTERVAL datas.day_count MONTH)
when 'DAY' then DATE_ADD(MAX( datas.end_date ),INTERVAL datas.day_count DAY)
end as ExactDate,
datas.trade_service_id
FROM datas