![]() |
|
Модераторы: skyboy |
![]()
|
|
| Vigoroso |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
в таком виде оно работает:
но как только я ставлю count
пишет что не может осуществить такую группировку ERROR 1111 (HY000): Invalid use of group function |
||||
|
|||||
| Kesh |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Добавлено через 1 минуту и 58 секунд
Добавлено через 7 минут и 54 секунды На 5000 записях у меня первое работает немного быстрее... ~0,023 сек против ~0,025 сек -------------------- ![]() |
||||
|
|||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 3 Всего: 18 |
min(visitDate) разве не одну строку возвращает? |
|||
|
||||
| Vigoroso |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
возвращает одну, но я не могу понять, почему оно не хочет именно эту единицу мне показывать, мне нужно получить количество, потому что далее пойдет отбор по сессиям |
||||
|
|||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
А чем мое не подходит?
-------------------- ![]() |
|||
|
||||
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
я так думал сделать, и скорее всего так и реализую, я просто не могу понять, почему не работает простой каунт??? ведь ничего фантастического я вроде не написал =\
|
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Я кучу вариантов перепробовал...
Сочетание count(min()) никак не работает... :( -------------------- ![]() |
|||
|
||||
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
просто интересно, может у кого-то есть этому объяснение?
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
группировка результатов агрегирующей функции? а у тебя "DATE_FORMAT(min(visitDate), '%Y %m %d')" в секции group by есть?(правда, не в курсе - можно ли пихать результаты агрегации в новую агрегацию) Если нету - тогда ты просишь сгруппировать данные и сгруппировать результаты группировки без явных к тому указаний. |
|||
|
||||
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
то есть что-то типа двойной группировки?
Добавлено через 59 секунд как сделать так, чтобы оно сработало? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Vigoroso, попробуй добавить "GROUP BY visitDate, min(visitDate)".
Скорее всего, не сработает и количество строк придется брать на стороне клиента. Или делать подзапрос. |
|||
|
||||
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
подзапросом реализовал, как вариант можно использовать "having" но почему-то у меня при этом терялись записи |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
||||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
А так?
Второй запрос должен вернуть количество строк возвращаемых запросом. -------------------- Теперь при чем :P |
|||
|
||||
| muzer |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
А вы что посчитать-то пытаетесь??? Смотрите, что вы написали: "уважаемый mysql, вычисли мне, пожалуйста, минимальное значение поля visitDate в таблице page_visit, преобразуй его в заданный мной формат, а потом скажи, сколько не NULL значений ты вычислил". Так по определению минимальная дата может быть только одна, если строки есть, или ноль если строк в таблице нет. Если вам нужно кол-во строк с минимальной датой, то это будет совершенно другой запрос. И почти обязательно с подзапросом. Например
Или
|
||||||||
|
|||||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |