Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / математика в запросе (несложная) / 10 сообщений из 10, страница 1 из 1
28.09.2005, 14:58:10
    #33293471
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
Есть таблица - статьи, вторы, сколько народу проголосовало за статью и как
высоко оценило. Надо сделать одним запросом выборку - число статей автора, и
средняя оценка по статьям.
вот запрос:
Код: plaintext
1.
2.
3.
4.
SELECT COUNT(author) AS chislo_statey,
voting_count * voting_ball  / SUM(voting_count)  AS srednyaya_otsenka
FROM site_table
WHERE author='1024'
AND author_vizible='1'
колонки: автор - это автор статьи (число, сами авторы в другой таблице)
voting_count - сколько народу оценивало статью.
voting_ball - как они её оценили (уже среднее по всем этим оценщикам)
author_vizible - автор может быть видим, а может нет....
Запрос этот выдаёт следующий результат:
Код: plaintext
1.
2.
3.
4.
5.
+---------------+-------------------+
| chislo_statey | srednyaya_otsenka |
+---------------+-------------------+
|             12  |                  0  |
+---------------+-------------------+
хотя число должно быть не ноль
MySQL 4.0

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE `site_table` (
  `id` int( 10 ) NOT NULL auto_increment,
  `author` varchar( 5 ) NOT NULL default '1024',
  `author_vizible` enum('1','0') NOT NULL default '1',
  `voting_enabled` enum('1','0') NOT NULL default '0',
  `voting_count` varchar( 63 ) NOT NULL default '0',
  `voting_ball` varchar( 127 ) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM 



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
28.09.2005, 15:51:32
    #33293666
RFT
RFT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
На первый взгляд вот тут кажись ты пропустил...

SELECT COUNT(author) AS chislo_statey,
SUM(voting_count * voting_ball) / SUM(voting_count) AS srednyaya_otsenka
FROM site_table
WHERE author='1024'
AND author_vizible='1'
...
Рейтинг: 0 / 0
28.09.2005, 16:34:22
    #33293821
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
Кстати, зачем делить сумму на сумму ???
Есть же AVG !!!
...
Рейтинг: 0 / 0
28.09.2005, 16:38:51
    #33293840
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
2 RFT
не то считает. он последнее число на сумму делит.

А что за AVG?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
28.09.2005, 20:24:39
    #33294439
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
AVG это не то. Там значение зависит от числа голосовавших - если к примеру трое поставили 10 а 20 всего 3 то по AVG получится 6.5 а должно быть 3,91
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
30.09.2005, 11:29:12
    #33297941
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
lissyaraAVG это не то. Там значение зависит от числа голосовавших - если к примеру трое поставили 10 а 20 всего 3 то по AVG получится 6.5 а должно быть 3,91
Posted via ActualForum NNTP Server 1.3

Значит ты используешь неправильно.
...
Рейтинг: 0 / 0
30.09.2005, 12:42:25
    #33298180
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
JohnmenЗначит ты используешь неправильно.
Ну так подскажи как правильно, раз такой умный
Структура есть, смысл что пытаюсь сделать вроде понятен....
А словами кидаться все могут.
...
Рейтинг: 0 / 0
30.09.2005, 13:11:19
    #33298266
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
lissyaraтрое поставили 10 а 20 всего 3

Т.е. имеем (3*10+20*3)/(3+20)=3.91...

value
-----
10 |
10 | всего трое
10 |

3 |
3 | всего двадцать
... |
3 |

Итого AVG(value)=3.91

Что не понятно ?
...
Рейтинг: 0 / 0
30.09.2005, 13:38:16
    #33298355
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
число проголосовавших хранистся в поле voting_count
т.е. таблица такая:
idauthorauthor_viziblevoting_enabledvoting_countvoting_ball123вася11310123вася11203
...
Рейтинг: 0 / 0
30.09.2005, 13:39:00
    #33298361
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
математика в запросе (несложная)
ну, в поле id - цифры разные только, ошибся.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / математика в запросе (несложная) / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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