Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / COUNT считает не правильно :\ / 9 сообщений из 9, страница 1 из 1
28.05.2005, 14:43
    #33088902
JackS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
вот такой вот SQL запрос неправильно считает
Код: plaintext
COUNT(c.campaign_ID) as campaigns
при чём если я убираю
Код: plaintext
LEFT JOIN ads a ON a.campaign_ID = c.campaign_ID
он начинает подсчитывать верно ....

на пример в таблице campaigns 4 записи
он выдаёт "COUNT(c.campaign_ID) as campaigns" равное 5 при этов в таблице "ads" 2 записи ...
добавляю третью запись результат count campaigns становится 6 и так далее ....




Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT u.user_ID, u.Login, u.FirstName, u.LastName, u.datetime, 
			   u.status, 
			   SUM(a.impression) as impression, 
			   SUM(a.clicks) as clicks, 
			   COUNT(c.campaign_ID) as campaigns 
		    FROM users u 
		    LEFT JOIN campaigns c ON c.user_ID = u.user_ID 
		    LEFT JOIN ads a ON a.campaign_ID = c.campaign_ID 
		    WHERE u.user_type= 1  
		    GROUP BY c.campaign_ID 
		    ORDER BY u.Login DESC 




таблица users

user_ID user_type promo_ID balance datetime Login Pwd FirstName LastName email country_ID IP status

таблица campaigns

campaign_ID user_ID name clicks impression is_blocked

таблица ads

ad_ID campaign_ID clicks impression headline description1 description2 display_URL destination_URL is_blocked lastSeen
...
Рейтинг: 0 / 0
28.05.2005, 15:08
    #33088924
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
Код: plaintext
COUNT(distinct(c.campaign_ID)) as campaigns
чего выдаёт?
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
28.05.2005, 16:56
    #33089072
vfabr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
приведите все данные из обеих таблиц
...
Рейтинг: 0 / 0
28.05.2005, 19:35
    #33089142
JackS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
distinct помогло, спасибо :)

но всё таки хотелось бы узнать в чём была моя ошибка (кроме отсутствия дистинкта) и почему такое происходило :)
...
Рейтинг: 0 / 0
28.05.2005, 19:51
    #33089148
vfabr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
а у вас в ads случайно не 2 записи с одинаковым campaign_ID?
...
Рейтинг: 0 / 0
28.05.2005, 21:45
    #33089183
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
JackSно всё таки хотелось бы узнать в чём была моя ошибка (кроме отсутствия дистинкта) и почему такое происходило :)нууу... так уж оно работает ;)
...
Рейтинг: 0 / 0
28.05.2005, 21:56
    #33089191
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
странно, что-то я логики не улавливаю, что должна была означать конструкция
Код: plaintext
SELECT u.user_ID, ... COUNT(c.campaign_ID) ... GROUP BY c.campaign_ID ...
?
Общее число компаний в базе?
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
29.05.2005, 11:12
    #33089323
JackS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
а делает оно буквально следующее:
...
Рейтинг: 0 / 0
29.05.2005, 11:15
    #33089324
JackS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COUNT считает не правильно :\
а, вот заметил ... да ... это я выложил сюда уже запрос после экспериментов :)

там должно быть
Код: plaintext
GROUP BY u.user_ID
:)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / COUNT считает не правильно :\ / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]