Supongamos que tengo 2011-01-03 y quiero obtener el primero de la semana, que es domingo, que es 2011-01-02, ¿cómo hago para hacerlo?¿Cómo obtengo el primer día de la semana de una fecha en mysql?
La razón es que tengo esta consulta:
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
Y sí, soy consciente de que el origen está mal escrito, pero fue aquí antes de que fuera así que no puedo corregirlo tan Referencia demasiadas aplicaciones internas se .
Por lo tanto, estoy agrupando por semanas pero quiero que llene mi tabla, por lo que no puedo tener todo el comienzo de semanas pareciendo diferentes fechas. ¿Cómo puedo solucionar esto?
Esto casi me funciona. Me gustaría obtener la fecha para el domingo ya que es el primer día que voy a pasar la semana. Entonces, si paso '2017-06-24' (sábado), FIRST_DAY_OF_WEEK devolverá '2017-06-19' (lunes). ¿Cómo consigo que regrese '2017-06-18' (domingo)? –