Форум программистов, компьютерный форум, киберфорум
Firebird/InterBase
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
1

В чём ошибка?

03.05.2017, 07:09. Показов 1198. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание вывести количество оценок 4
вот этот код работает
MySQL
1
2
3
4
5
6
7
select fk_stud_id,
count(fk_typeoch_id)
 
from ackbook
 
group by  fk_stud_id, fk_typeoch_id
having fk_typeoch_id = 4
А мне надо чтоб было так, в чём ошибка не пойму
MySQL
1
2
3
4
5
6
7
select s.lname||' '||s.fname||' '||s.mname||' '||s.fk_gruppa_id||' гр.',
a.fk_stud_id, count(a.fk_typeoch_id)
 
from stud s, ackbook a
 
group by a.fk_stud_id, a.fk_typeoch_id
having (a.fk_typeoch_id) = 4
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2017, 07:09
Ответы с готовыми решениями:

Ошибка method range of object global failed в чем ошибка
Sub ПроверкаВвода() Dim A As Range Dim B As Range ...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём...

Ошибка -is not a valid integer value (не является допустимым целым значением), не понимаю в чем ошибка
//--------------------------------------------------------------------------- #include <vcl.h>...

Ошибка при передаче параметров в функцию. Объясните, ребят, пожалуйста, в чем ошибка
Есть функция, которую необходимо отобразить в виде линий уровня. Далее с помощью простого...

13
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
03.05.2017, 07:33 2
Лучший ответ Сообщение было отмечено ElenaCh как решение

Решение

Цитата Сообщение от ElenaCh Посмотреть сообщение
select fk_stud_id,
count(fk_typeoch_id)
from ackbook
group by *fk_stud_id, fk_typeoch_id
having fk_typeoch_id = 4
да ладно! с таким having Неужели Firebird так далек от стандарта?
а если и работает, не смущает, что у всех одинаковое количество четверок? Или в Firebird поля связи уже указывать не нужно?



SQL
1
2
3
4
5
SELECT MAX(s.lname||' '||s.fname||' '||s.mname||' '||s.fk_gruppa_id||' гр.') AS Name,
a.fk_stud_id, COUNT(a.fk_typeoch_id) AS Number4
FROM stud s JOIN ackbook a ON a.fk_stud_id= s.Id
WHERE a.fk_typeoch_id = 4 
GROUP BY a.fk_stud_id
1
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
03.05.2017, 07:42  [ТС] 3
Цитата Сообщение от YuryK Посмотреть сообщение
Цитата Сообщение от ElenaCh Посмотреть сообщение
select fk_stud_id,
count(fk_typeoch_id)
from ackbook
group by *fk_stud_id, fk_typeoch_id
having fk_typeoch_id = 4
Цитата Сообщение от YuryK Посмотреть сообщение
у всех одинаковое количество четверок?
нет не у кого не одинаковое количество чётвёрок
В чём ошибка?
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
03.05.2017, 07:44 4
а ну да, там ещё без stud, а вот при stud s, ackbook a все и сравняются
0
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
03.05.2017, 07:48  [ТС] 5
Цитата Сообщение от YuryK Посмотреть сообщение
все и сравняются
понятно))
0
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
03.05.2017, 08:01  [ТС] 6
YuryK,
А как сделать чтоб ещё количество сданных экзаменов вывелось
В чём ошибка?


Через что-то подобное но я не догоняю как в кучу всё собрать??
MySQL
1
2
3
4
5
6
select max(s.lname||' '||s.fname||' '||s.mname||' '||s.fk_gruppa_id||' гр.') as Name,
count (a.fk_typeoch_id) as Num2,
count (a.fk_typeoch_id) as Num4
from stud s join ackbook a on s.stud_id = a.fk_stud_id
where a.fk_typeoch_id in (3,4,5) and a.fk_typeoch_id = 4
group by a.fk_stud_id
В чём ошибка?
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
03.05.2017, 08:20 7
Лучший ответ Сообщение было отмечено ElenaCh как решение

Решение

2-ки в среднее не считаем? Тогда
SQL
1
2
3
4
5
6
7
SELECT MAX(s.lname||' '||s.fname||' '||s.mname||' '||s.fk_gruppa_id||' гр.') AS Name,
COUNT (a.fk_typeoch_id) AS CntTotal,
AVG(a.fk_typeoch_id) average
SUM(CASE a.fk_typeoch_id WHEN 4 THEN 1 ELSE 0 END) AS Cnt4
FROM stud s JOIN ackbook a ON s.stud_id = a.fk_stud_id
WHERE a.fk_typeoch_id IN (3,4,5) 
GROUP BY a.fk_stud_id
если считаем
SQL
1
2
3
4
5
6
SELECT MAX(s.lname||' '||s.fname||' '||s.mname||' '||s.fk_gruppa_id||' гр.') AS Name,
SUM(CASE WHEN a.fk_typeoch_id IN  (3,4,5)  THEN 1 ELSE 0 END) AS CntTotal,
AVG(a.fk_typeoch_id) average
SUM(CASE a.fk_typeoch_id WHEN 4 THEN 1 ELSE 0 END) AS Cnt4
FROM stud s JOIN ackbook a ON s.stud_id = a.fk_stud_id
GROUP BY a.fk_stud_id
Добавлено через 2 минуты
у вас, гляжу, даже 6-ки ставят они в среднем как 6-ки должны учесться?

Добавлено через 3 минуты
а по одному экзамену может быть несколько оценок?
1
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
03.05.2017, 08:28  [ТС] 8
Цитата Сообщение от YuryK Посмотреть сообщение
у вас, гляжу, даже 6-ки ставят
Аахах да нет))

Добавлено через 4 минуты
Цитата Сообщение от YuryK Посмотреть сообщение
6-ки
6-ки это же ID оценки "зачтено" это не считается что экзамен здан
0
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
03.05.2017, 08:28  [ТС] 9
Цитата Сообщение от YuryK Посмотреть сообщение
а по одному экзамену может быть несколько оценок?
не знаю
В чём ошибка?
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
03.05.2017, 08:30 10
а это что?
Миниатюры
В чём ошибка?  
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
03.05.2017, 08:33 11
Цитата Сообщение от ElenaCh Посмотреть сообщение
это не считается что экзамен здан
т.е. не надо считать и в среднем, тогда нужно добавить WHERE и там перечислить все оценки, которые в среднее должны войти
SQL
1
2
3
4
5
6
7
SELECT MAX(s.lname||' '||s.fname||' '||s.mname||' '||s.fk_gruppa_id||' гр.') AS Name,
SUM(CASE WHEN a.fk_typeoch_id IN  (3,4,5)  THEN 1 ELSE 0 END) AS CntTotal,
AVG(a.fk_typeoch_id) average
SUM(CASE a.fk_typeoch_id WHEN 4 THEN 1 ELSE 0 END) AS Cnt4
FROM stud s JOIN ackbook a ON s.stud_id = a.fk_stud_id
WHERE a.fk_typeoch_id IN (2, 3,4,5) 
GROUP BY a.fk_stud_id
0
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
03.05.2017, 08:40  [ТС] 12
Цитата Сообщение от YuryK Посмотреть сообщение
а это что?
ну да странно, экзамен и зачтён? экзамен должен быть с оценкой либо автоматом, хм
сегодня поинтересуюсь как считать

Добавлено через 3 минуты
Цитата Сообщение от YuryK Посмотреть сообщение
они в среднем как 6-ки должны учесться?
нет в среднем считается только оценки 3-неуд, 4-хорошо, 5-отлично т е сданный экзамен на эти оценки

Добавлено через 1 минуту
Цитата Сообщение от YuryK Посмотреть сообщение
не надо считать и в среднем
да получается
Цитата Сообщение от ElenaCh Посмотреть сообщение
считается только оценки 3-неуд, 4-хорошо, 5-отлично т е сданный экзамен на эти оценки
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
03.05.2017, 08:44 13
Лучший ответ Сообщение было отмечено ElenaCh как решение

Решение

тогда
SQL
1
WHERE a.fk_typeoch_id IN (3,4,5)
и здесь упрощается до
SQL
1
COUNT(*) AS CntTotal,
1
2 / 2 / 3
Регистрация: 11.04.2016
Сообщений: 94
03.05.2017, 08:55  [ТС] 14
Цитата Сообщение от YuryK Посмотреть сообщение
тогда
WHERE a.fk_typeoch_id IN (3,4,5)

и здесь упрощается до
COUNT(*) AS CntTotal,
Всё теперь всё как надо работает
Спасибо огромное
0
03.05.2017, 08:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2017, 08:55
Помогаю со студенческими работами здесь

В чем ошибка?По одной строке нормально в базу заходят,а две сразу вылетает ошибка?
INSERT INTO `jos_menu` (`id`, `menutype`, `name`, `alias`, `link`, `type`, `published`, `parent`,...

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка?
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и...

Ошибка 2 error LNK2019, не пойму в чем ошибка
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl...

В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы
К тому же выдает warning: deprecated conversion from string constant to 'char*' . #include...

ошибка вылетает в чем ошибка???
#include "stdafx.h" #include <stdio.h> #include "math.h" #include <conio.h> int main() {...

Ошибка Для нестатического поля, метода или свойства "Rmas.msf" требуется ссылка на объект. Не пойму в чем ошибка?
CS0120 ошибка. Объявить класс, содержащий одномерный целочисленный массив размерностью 5,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru