|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
Дано. Три таблицы: 1. authors (поля: login) - авторы 2. topics (topic_id, login, section) - топики (section может принимать значения prose, poety и journal) 3. vote (topic_id, vote) - голоса Составить запрос выуживающий из БД следующие значения: 1. login автора 2. количество топиков автора по секциям 3. для каждой оценки (они все известны заранее) колчество полученных оценок (по каждой секции) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2004, 20:48 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
3. для каждой оценки (они все известны заранее) колчество полученных оценок (по каждой секции) тут что то не понятно кол-во оценок или сумма ??? select a.login,count(t.topic_id),t.section,sum(v.vote) from authors a,topics t,vote v where a.login = t.login and v.topic_id = t.topic_id group by a.login,t.topic_id,t.section может так хотя наскрябал за минуту не уверен что работает :) ____ ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2004, 11:32 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
а как же "2. количество топиков автора по секциям" ? в этом -- вся загвоздка. по пункту 3: там действительно нужно количество. среди значений vote есть "затрудняюсь" (кроме баллов), мне нужно вычислять "трудность" автора, то есть общее количество затруднившихся оценить творения автора делить на количество этих самых творений. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2004, 22:25 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
мне нужно количество топиков для каждой секции отдельно. сайчас проверю твой код. спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2004, 22:27 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
Не, не работает. Мой запрос такой (без подсчета "средней трудности"): SELECT authors.name as name, authors.email, authors.date, authors.login, IFNULL(SUM(IF(topics.section='prose',1,0)),-1) as prose, IFNULL(SUM(IF(topics.section='poetry',1,0)),-1) as poetry, IFNULL(SUM(IF(topics.section='journal',1,0)),-1) as journal, FROM topics LEFT JOIN authors USING (login) GROUP BY authors.login ORDER BY $dataRange Запрос рабочий, но неполноценый. Трудность автора в секции я высчитываю отдельно для каждого автора => невозможность сортировки по этому параметру ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2004, 23:03 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
Что-то я не пойму что не так?! mahoune ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 13:56 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
2. количество топиков автора по секциям По моему так, не проверял select login, section, count(*) from topics group by login, section Скажи что получилось :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 14:21 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
Мне нужен один запрос, в котором высчитываются все три параметра за раз. Вариантов пока не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 22:25 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
Где-то так, надо полагать! Или через временную таблицу... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2004, 10:30 |
|
Не могу составить запрос
|
|||
---|---|---|---|
#18+
Пробую Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
TopicsInProse увеличивается с числом давших оценку. Не то ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2004, 14:53 |
|
|
start [/forum/topic.php?fid=47&fpage=694&tid=1855497]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 143ms |
0 / 0 |