Как мне получить первый день недели даты в mysql?

Предположим, у меня есть 2011-01-03, и я хочу получить первую неделю недели, то есть воскресенье, то есть 2011-01-02, как мне это сделать?

Причина в том, что у меня такой запрос:

select 
  YEAR(date_entered) as year, 
  date(date_entered) as week,   <-------This is what I want to change to select the first day of the week.
  SUM(1) as total_ncrs, 
  SUM(case when orgin = picked_up_at then 1 else 0 end) as ncrs_caught_at_station 
from sugarcrm2.ncr_ncr 
where 
sugarcrm2.ncr_ncr.date_entered > date('2011-01-01') 
and orgin in( 
'Silkscreen', 
'Brake', 
'Assembly', 
'Welding', 
'Machining', 
'2000W Laser', 
'Paint Booth 1', 
'Paint Prep', 
'Packaging', 
'PEM', 
'Deburr', 
'Laser ', 
'Paint Booth 2', 
'Toolpath' 
) 
and date_entered is not null 
and orgin is not null 
AND(grading = 'Minor' or grading = 'Major') 
 and week(date_entered) > week(current_timestamp) -20 
group by year, week(date_entered) 
order by year   asc, week asc 

И да, я понимаю, что происхождение написано неправильно, но оно было здесь до меня, поэтому я не могу исправить это, так как слишком много внутренних приложения ссылаются на него.

Итак, я группирую по неделям, но я хочу, чтобы это заполняло мою диаграмму, поэтому у меня не может быть, чтобы все начала недель выглядели как разные даты. Как это исправить?

18
задан davidahines 4 August 2011 в 04:20
поделиться