web-dev-qa-db-fra.com

mysql: obtenir le nombre d'enregistrements entre deux dates et heures

Je suis coincé avec un problème dans MySQL. Je veux obtenir le nombre d'enregistrements entre deux entrées date-heure.
Par exemple:
J'ai dans ma table une colonne nommée 'créée' ayant le type de données datetime.

Je souhaite compter les enregistrements créés date-heure entre "TODAY'S 4:30 AM" et "CURRENT DATE TIME".

J'ai essayé certaines fonctions de MySQL mais toujours pas de chance avec.

Pouvez-vous m'aider s'il vous plaît avec cela? Merci.

38
gautamlakum

Peut être avec:

SELECT count(*) FROM `table` 
where 
    created_at>='2011-03-17 06:42:10' and created_at<='2011-03-17 07:42:50';

ou utilisez between:

SELECT count(*) FROM `table` 
where 
    created_at between '2011-03-17 06:42:10' and '2011-03-17 07:42:50';

Vous pouvez modifier la date et l'heure selon vos besoins. Peut-être utilisez curdate() ou now() pour obtenir les dates souhaitées.

73
Harry Joy
select * from yourtable where created < now() and created > '2011-04-25 04:00:00'
6
Wes
select * from yourtable 
   where created < now() 
     and created > concat(curdate(),' 4:30:00 AM') 
5
Shakti Singh