|
|
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
Есть таблица - статьи, вторы, сколько народу проголосовало за статью и как высоко оценило. Надо сделать одним запросом выборку - число статей автора, и средняя оценка по статьям. вот запрос: Код: plaintext 1. 2. 3. 4. voting_count - сколько народу оценивало статью. voting_ball - как они её оценили (уже среднее по всем этим оценщикам) author_vizible - автор может быть видим, а может нет.... Запрос этот выдаёт следующий результат: Код: plaintext 1. 2. 3. 4. 5. MySQL 4.0 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 14:58:10 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
На первый взгляд вот тут кажись ты пропустил... 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' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 15:51:32 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
Кстати, зачем делить сумму на сумму ??? Есть же AVG !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 16:34:22 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
2 RFT не то считает. он последнее число на сумму делит. А что за AVG? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 16:38:51 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
AVG это не то. Там значение зависит от числа голосовавших - если к примеру трое поставили 10 а 20 всего 3 то по AVG получится 6.5 а должно быть 3,91 Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2005, 20:24:39 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
lissyaraAVG это не то. Там значение зависит от числа голосовавших - если к примеру трое поставили 10 а 20 всего 3 то по AVG получится 6.5 а должно быть 3,91 Posted via ActualForum NNTP Server 1.3 Значит ты используешь неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 11:29:12 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
JohnmenЗначит ты используешь неправильно. Ну так подскажи как правильно, раз такой умный Структура есть, смысл что пытаюсь сделать вроде понятен.... А словами кидаться все могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 12:42:25 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
lissyaraтрое поставили 10 а 20 всего 3 Т.е. имеем (3*10+20*3)/(3+20)=3.91... value ----- 10 | 10 | всего трое 10 | 3 | 3 | всего двадцать ... | 3 | Итого AVG(value)=3.91 Что не понятно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 13:11:19 |
|
||
|
математика в запросе (несложная)
|
|||
|---|---|---|---|
|
#18+
число проголосовавших хранистся в поле voting_count т.е. таблица такая: idauthorauthor_viziblevoting_enabledvoting_countvoting_ball123вася11310123вася11203 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 13:38:16 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1853612]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
292ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 601ms |

| 0 / 0 |
