| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > проблема подсчета числа результатов запроса |
| Автор: Vigoroso 6.5.2007, 11:50 | ||||
в таком виде оно работает:
но как только я ставлю count
пишет что не может осуществить такую группировку ERROR 1111 (HY000): Invalid use of group function |
| Автор: Kesh 6.5.2007, 13:43 | ||||
Добавлено через 1 минуту и 58 секунд
Добавлено через 7 минут и 54 секунды На 5000 записях у меня первое работает немного быстрее... ~0,023 сек против ~0,025 сек |
| Автор: Glip 6.5.2007, 13:53 | ||
min(visitDate) разве не одну строку возвращает? |
| Автор: Vigoroso 6.5.2007, 14:37 | ||||
возвращает одну, но я не могу понять, почему оно не хочет именно эту единицу мне показывать, мне нужно получить количество, потому что далее пойдет отбор по сессиям |
| Автор: Kesh 6.5.2007, 14:41 |
| А чем мое не подходит? |
| Автор: Vigoroso 6.5.2007, 14:53 |
| я так думал сделать, и скорее всего так и реализую, я просто не могу понять, почему не работает простой каунт??? ведь ничего фантастического я вроде не написал =\ |
| Автор: Kesh 6.5.2007, 18:22 |
| Я кучу вариантов перепробовал... Сочетание count(min()) никак не работает... :( |
| Автор: Vigoroso 6.5.2007, 21:36 |
| просто интересно, может у кого-то есть этому объяснение? |
| Автор: skyboy 6.5.2007, 22:16 |
группировка результатов агрегирующей функции? а у тебя "DATE_FORMAT(min(visitDate), '%Y %m %d')" в секции group by есть?(правда, не в курсе - можно ли пихать результаты агрегации в новую агрегацию) Если нету - тогда ты просишь сгруппировать данные и сгруппировать результаты группировки без явных к тому указаний. |
| Автор: Vigoroso 6.5.2007, 22:44 |
| то есть что-то типа двойной группировки? Добавлено через 59 секунд как сделать так, чтобы оно сработало? |
| Автор: skyboy 6.5.2007, 23:44 |
| Vigoroso, попробуй добавить "GROUP BY visitDate, min(visitDate)". Скорее всего, не сработает и количество строк придется брать на стороне клиента. Или делать подзапрос. |
| Автор: Vigoroso 7.5.2007, 21:39 | ||
подзапросом реализовал, как вариант можно использовать "having" но почему-то у меня при этом терялись записи |
| Автор: skyboy 7.5.2007, 22:08 |
это же фильтрация(как WHERE), a не группировка... |
| Автор: Ignat 8.5.2007, 09:34 | ||
А так?
Второй запрос должен вернуть количество строк возвращаемых запросом. |