powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / математика в запросе (несложная)
10 сообщений из 10, страница 1 из 1
математика в запросе (несложная)
    #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
математика в запросе (несложная)
    #33293666
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
математика в запросе (несложная)
    #33293821
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, зачем делить сумму на сумму ???
Есть же AVG !!!
...
Рейтинг: 0 / 0
математика в запросе (несложная)
    #33293840
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 RFT
не то считает. он последнее число на сумму делит.

А что за AVG?


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

Значит ты используешь неправильно.
...
Рейтинг: 0 / 0
математика в запросе (несложная)
    #33298180
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JohnmenЗначит ты используешь неправильно.
Ну так подскажи как правильно, раз такой умный
Структура есть, смысл что пытаюсь сделать вроде понятен....
А словами кидаться все могут.
...
Рейтинг: 0 / 0
математика в запросе (несложная)
    #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
математика в запросе (несложная)
    #33298355
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
число проголосовавших хранистся в поле voting_count
т.е. таблица такая:
idauthorauthor_viziblevoting_enabledvoting_countvoting_ball123вася11310123вася11203
...
Рейтинг: 0 / 0
математика в запросе (несложная)
    #33298361
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, в поле id - цифры разные только, ошибся.


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


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