как сравнить на основе Date с полем DATETIME в MYSQL?

#mysql #sql

#mysql #sql

Вопрос:

У меня есть поле DATETIME.. Я хочу выполнять поиск только на основе даты. используя приведенный ниже запрос:

 select subTitle,count(alertid) as cnt,alertdate from alertmaster a,subscriptionmaster s where s.subId=a.subId GROUP BY a.subId,alertDate
  

Я получаю результаты, сгруппированные по дате и времени .. например

xxx 4 2011-04-09 01:03:15 и xxx 1 2011-04-09 01: 02: 11 отображаются как разные результаты, которые я не хочу. Как это сделать?

Ответ №1:

Вместо этого вы можете выбрать date (alertdate).

 select subTitle,count(alertid) as cnt,date(alertdate) from alertmaster a,subscriptionmaster s where s.subId=a.subId GROUP BY a.subId,date(alertdate)
  

Ответ №2:

 ... GROUP BY a.subId, DATE(alertDate)
  

DATE() функция извлечет только часть даты из поля даты / времени. Более подробная информация здесь.