|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
Необходимо сформировать запрос Для заданной дисциплины определить количество оценок 5, 4, 3 и 2 (абсолютные и относительные значения в %). Я не могу понять как найти относительное значение. Для этого необходимо кол-во оценок в рамках одного предмета, но из-за группировки оно отдельно считает в каждой строке. Возможно можно как-то подтянуть данные из другого запроса? я не знаю как. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 14:13 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 14:18 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
beholderka, Вам нужно еще одно соединение с аналогичной выборкой, но без группировки по рейтингу Ну а дальше просто вычисления... Писано на колене Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Да HAVING медленная операция. И здесь не нужна. Where Существенно быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 18:52 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
asdor, Код: sql 1. 2.
во вложенной выборке, видимо лишние Можа и еще мона улучшить ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2017, 18:54 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
asdor, спасибо, что-то у меня не вышло, чтоб оно заработало у вас случайно нет ссылки с адекватным примерами таких подзапросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2017, 22:46 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
beholderkaasdor, спасибо, что-то у меня не вышло, чтоб оно заработало у вас случайно нет ссылки с адекватным примерами таких подзапросов? Таким SELECT-ом только детей пугать вместо Бабы-Яги, накрутил вам спец. Вам по сути нужно только поле rating в одной таблице. Выполните объединение этой таблицы с самим собой, но с условиями вам придется повозиться. (И еще - в фоксе INNER и SESSION! по умолчанию). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 11:34 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
sg12Вам по сути нужно только поле rating в одной таблице. Выполните объединение этой таблицы с самим собой, но с условиями вам придется повозиться. Я когда отвечать начал, так же подумал. Только ей сумма отдельная нужна. Так что... Покажите как это без подзапроса сделать. А монструозный... так скопипастил, и подправил))) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Вот так покороче будет. А что у вас не получилось, одному богу известно. Были б тестовые данные, скрипты создания и т.д. можно было б поточнее написать А примеры, поищите в иенте. Наверняка найдете достаточно литературы. Тока не все в фоксе работает. (я и про этот то не уверен))) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 13:42 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
asdor, Отослал, заметил Код: sql 1. 2. 3.
Иначе ругаться будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 13:47 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
В Вашей постановке задаче слово "студент" вообще нет. Зачем же Вы все время пытаетесь так или иначе вставить в выборку таблицу студентов? Она вообще лишняя Абсолютное значение - это общее количество записей Относительное - это абсолютное значение деленное на сумму всех значений Задачу можно решить двумя способами 1. Сделать то, что Вы и пытаетесь. Два отдельных запроса: один в разрезе значений, другой по всем значениям (итог), а потом их объединить. Только обратите внимание, что фильтр по конкретной дисциплине надо добавлять в каждый из этих подзапросов. Т.е. и абсолютное значение и общее должны быть по одной дисциплине. 2. Сделать некий аналог кросс-таблицы. Развернуть строки в столбцы. Поскольку здесь фиксированное количество значений, то это достаточно легко можно сделать. Это будет выглядеть примерно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Можно сразу же и вычислить итоговые значения, используя эту конструкцию как подзапрос, но опять же, в строку Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 17:36 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
beholderka Если все еще актуально, проверьте: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2017, 11:47 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
ВладимирМ, Из всех представленных выше вариантов все так или иначе не работает. Даже ваш,оно жалуется на отсутствие скобки, не смотря на то что с ними все ок (точно). Я хочу чтоб оно было в таком формате: Оценка Абсол Относит 2---------1---------25 3---------0----------0 4---------1----------25 5---------2---------50 Как вы предлагаете, я примерно и так понимала. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2017, 18:14 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
beholderka, А вы не видите отличия? Что вам предлагал ВладимирМ и вашим запросом? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 09:17 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
asdorbeholderka, А вы не видите отличия? Что вам предлагал ВладимирМ и вашим запросом? Вам не угодишь, все вы в трудах. Может этот запрос вас устроит: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 11:59 |
|
Для заданной дисциплины определить количество оценок
|
|||
---|---|---|---|
#18+
beholderkaВладимирМ, Из всех представленных выше вариантов все так или иначе не работает. Даже ваш,оно жалуется на отсутствие скобки, не смотря на то что с ними все ок (точно). Я хочу чтоб оно было в таком формате: Оценка Абсол Относит 2---------1---------25 3---------0----------0 4---------1----------25 5---------2---------50 Как вы предлагаете, я примерно и так понимала. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Попробуйте перевести строки в столбцы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2017, 22:22 |
|
|
start [/forum/topic.php?fid=41&msg=39563323&tid=1581864]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 570ms |
0 / 0 |