Я работаю над проектом, где мне нужно получить минимальную и максимальную дату из базы данных, а также подстроку первой части поля до символа и группировку по этому полю , Таким образом, в основном в базе данных у меня естьMySQL Min и Max Date с группой By и SubString
2012-01-01 Unknown username/password attempted to login. User: admin
2012-01-01 Failed to add user account. MySQL Error: certain my sql error Unknown
2012-01-02 Failed to add user account. MySQL Error: certain my sql error Unknown
2012-01-04 Unknown username/password attempted to login. User: administrator
Ниже запрос, который я использую, который работает без отображения даты
SELECT ala_type, partMsg,
wholeMsg, ala_level, ala_page, COUNT(wholeMsg) AS msgCount FROM
(
SELECT ala_type, SUBSTRING_INDEX(ala_message, ':', 1) AS partMsg, ala_message AS wholeMsg,
ala_level, ala_page FROM alarms a) p
GROUP BY partMsg
Этот бит правильно группировать, как ожидалось, но если я пытаюсь добавить min (date_field), тогда отображается только одна запись.
Ниже запрос, который я попытался
SELECT ala_date, min(ala_date), max(ala_date), ala_type, partMsg, wholeMsg, ala_level, ala_page, COUNT(wholeMsg) AS msgCount FROM ( SELECT ala_date, min(ala_date), max(ala_date), ala_type, SUBSTRING_INDEX(ala_message, ':', 1) AS partMsg, ala_message AS wholeMsg, ala_level, ala_page FROM alarms a) p GROUP BY partMsg
Если я не ставлю ala_date во втором заявлении и просто мин (ala_date) он говорит, что он не может найти поле ala_date. Тем не менее, когда я запускаю запрос я только получаю одну запись, и я бы ожидал увидеть следующее
2012-01-01 2012-01-04 Unknown username/password attempted to login.User: 2
2012-01-01 2012-01-02 Failed to add user account. MySQL Error: > certain mysql error 2
2-и в конце ожидаемого результата подсчет, сколько раз произошло сообщение.
То, что я на самом деле получаю:
2012-01-01 2012-01-01 2012-01-01 Failed to add user account... 1
Он теперь только показывает 1 запись и мин и макс только одни и те же, и счетчик равен 1 вместо 2.
Что я мог сделать, чтобы получить то, что я ожидаю получить.
Спасибо за любую помощь, которую вы можете предоставить.