Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Julieta
6 / 6 / 1
Регистрация: 19.12.2013
Сообщений: 161
1

Запрос к бд. Условия в GROUP BY

23.04.2016, 23:39. Просмотров 769. Ответов 5
Метки нет (Все метки)

Добрый вечер.
Подскажите как можно прописать условие группировки
Есть запрос:
SQL
1
2
3
4
5
6
7
SELECT t.id_test AS test_id,t.name AS test_name, ts.date AS start_date,g.id_group AS group_id, g.name AS name_group, t.id_test AS num_test, COUNT(IF(ts.status=1,1,NULL)) AS EXEC , COUNT(IF(ts.status=0,1,NULL)) AS notexec FROM yu_test t 
                        LEFT JOIN yu_test_student ts ON (t.id_test=ts.id_test)
                        LEFT JOIN yu_student s ON (s.id_student=ts.id_student)
                        LEFT JOIN yu_group g ON (g.id_group=s.id_group)
                        WHERE id_teacher='$_SESSION[id_teacher]'
                        GROUP BY s.id_group, num_test
                        ORDER BY ts.date, test_name
Нужна группировка по группе и тесту, но если даты (start_date) разные- то не группировать.

Заранее спасибо
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2016, 23:39
Ответы с готовыми решениями:

Mixing of GROUP columns (MIN(),MAX(),COUNT(),.) with no GROUP columns is illegal if there is no GROUP BY clause
Такая ошибка: КОД: $result=mysql_query("SELECT description,...

Запрос с GROUP BY
есть столбец id со значениями: 1 1 2 2 3 4 5 моя задача посчитать количество...

запрос с group by
Доброе время суток. У меня такая проблема: не работает запрос, который...

Запрос Group BY
Здравствуйте . Ковырялся ковырялся, но так и застрял на запросе. Имеется...

Запрос Group BY
Здравствуйте! Не получается создать запрос следующего вида: SELECT...

5
Jewbacabra
Эксперт PHP
3512 / 2918 / 1305
Регистрация: 24.04.2014
Сообщений: 8,876
23.04.2016, 23:53 2
Лучший ответ Сообщение было отмечено Julieta как решение

Решение

добавить дату в GROUP BY
1
Julieta
6 / 6 / 1
Регистрация: 19.12.2013
Сообщений: 161
23.04.2016, 23:57  [ТС] 3
Спасибо, как-то легко...
Вроде получилось, но точно пока не скажу)

А это строка корректная? WHERE id_teacher='$_SESSION[id_teacher]'
Так можно делать?
0
Jewbacabra
Эксперт PHP
3512 / 2918 / 1305
Регистрация: 24.04.2014
Сообщений: 8,876
23.04.2016, 23:59 4
Цитата Сообщение от Julieta Посмотреть сообщение
Так можно делать?
А почему нет?
1
Julieta
6 / 6 / 1
Регистрация: 19.12.2013
Сообщений: 161
24.04.2016, 00:09  [ТС] 5
Цитата Сообщение от Jewbacabra Посмотреть сообщение
А почему нет?
Ну может подход не правильный и есть другие методы
0
Jewbacabra
Эксперт PHP
3512 / 2918 / 1305
Регистрация: 24.04.2014
Сообщений: 8,876
24.04.2016, 00:12 6
Цитата Сообщение от Julieta Посмотреть сообщение
Ну может подход не правильный и есть другие методы
Ну разве что prepared statements имеет смысл использовать. Но так как данные берутся из сессии, куда пользователь доступа не имеет инъекцию можно исключить, но нужно об этом помнить когда собственно значение в сессию помещается. А вот если бы бралось не из сессии, а из кук, то напрямую подставлять опасно
0
24.04.2016, 00:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 00:12

Откорректировать запрос с GROUP BY
SELECT username, score, game_time FROM game JOIN player ON game.user_id =...

Запрос с Group By на LINQ
Есть DataTable dt = new DataTable("index"); ...

Запрос без join и group by
Доброго времени суток. У меня появилась проблема, нужно вывести фамилию, имя...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru