2009-09-24 23 views
34

¿Cómo seleccionar datos de la fecha pasada de la tabla mysql a la fecha actual? Por ejemplo, ¿Seleccionar datos del 1 de enero de 2009 hasta la fecha actual?Seleccione la consulta de mysql entre la fecha?

Mi columna "datetime" está en tipo de fecha y hora. Por favor ayuda, gracias

Editar:

Si Digamos que quiero conseguir día por día los datos desde el 1 de enero de 2009, la forma de escribir la consulta? Usar contar y entre funciones?

Respuesta

54
select * from *table_name* where *datetime_column* between '01/01/2009' and curdate() 

o el uso de >= y <=:

select * from *table_name* where *datetime_column* >= '01/01/2009' and *datetime_column* <= curdate() 
+0

Cool. Funciona. ÚLTIMA pregunta: si quiero mostrar los datos por día desde 01/01/2009, debo usar la función de conteo ¿verdad? ¿Alguna idea de cómo implementar? –

+0

Puede usar "agrupar por" y "ordenar por", así: seleccione * de [nombre_tabla] donde [datetime_column] entre '01/01/2009 'y curdate() grupo por [datetime_column] ordene por [datetime_column] –

+0

intenté esto: SELECT *, count (*) de la tabla WHERE datetime ENTRE '2009-01-01' Y '2009-09-01' GROUP BY datetime; pero el recuento es 1. se supone que es, 10, 5, 8 etc ... –

12

Usted puede utilizar now() como:

Select data from tablename where datetime >= "01-01-2009 00:00:00" and datetime <= now(); 
19

Todas las obras anteriores, y aquí es otra manera si lo que desea es número de días/hora atrás más bien una fecha de entrada

select * from *table_name* where *datetime_column* BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() 
+0

Esto es bastante limpio! – frankster

+0

¡Este funciona genial! – lucasarruda

Cuestiones relacionadas