SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.11.2008 12:09:58

Ivjke
Участник
Зарегистрирован: 24.09.2008
Сообщений: 3

Подсчёт суммы

здравствуйте, составил запрос:

$query2 = mysql_query("SELECT
  classes.classname,
  COUNT(vydacha.studid) AS FIELD_1
FROM
  students
  INNER JOIN classes ON (students.classid = classes.id)
  INNER JOIN vydacha ON (students.id = vydacha.studid)
WHERE
ISNULL(factvozvrdate)
GROUP BY
  classes.classname
ORDER BY
  classes.classname+0, classes.classname
  ");

в результате получаю табличку:

classname       FIELD_1
1а                       3
1б                       1
10а                     1

Никак не могу разобраться как получить сумму чисел в колонке FIELD_1

Неактивен

 

#2 13.11.2008 18:26:49

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Подсчёт суммы

SELECT
  classes.classname,
  COUNT(vydacha.studid) AS FIELD_1
FROM
  students
  INNER JOIN classes ON (students.classid = classes.id)
  INNER JOIN vydacha ON (students.id = vydacha.studid)
WHERE
ISNULL(factvozvrdate)
GROUP BY
  classes.classname ASC WITH ROLLUP;
 

Обратите внимение, что использовать ORDER BY совместно с ROLLUP нельзя.

Неактивен

 

#3 21.11.2008 01:01:54

AvtoNom
Завсегдатай
Зарегистрирован: 20.11.2008
Сообщений: 33

Re: Подсчёт суммы

vasya написал:

Обратите внимание, что использовать ORDER BY совместно с ROLLUP нельзя.

разве?

SELECT year, SUM(profit) FROM sales GROUP BY year WITH ROLLUP;

так написано на http://dev.mysql.com/doc/refman/5.0/en/ … fiers.html


Похоже я здесь надолго
=8-D

Неактивен

 

#4 21.11.2008 01:14:28

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5831

Re: Подсчёт суммы

И чему противоречит ваш пример? Разве в нем есть ORDER BY?

По указанной вами же ссылке:

When you use ROLLUP, you cannot also use an ORDER BY clause to sort the results. In other words, ROLLUP and ORDER BY  are mutually exclusive. However, you still have some control over sort order. GROUP BY in MySQL sorts results, and you can use explicit ASC and DESC keywords with columns named in the GROUP BY list to specify sort order for individual columns. (The higher-level summary rows added by ROLLUP still appear after the rows from which they are calculated, regardless of the sort order.)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson