Группировка по нескольким условиям - MySQL - PullRequest
2 голосов
/ 13 августа 2010

Как объединить 2 группы по условиям? У меня есть записи для каждого идентификатора за каждый час в дне, и я хочу сгруппировать информацию по первому идентификатору и всем записям для этого идентификатора в тот день, затем по второму идентификатору и всем записям за этот день.

Мой пример запроса:

SELECT
    r.name
  , r.network
  , r.namestring
  , i.name
, i.description
  , r.rid
  , i.id
  , d.dtime
  , d.ifInOctets
FROM router AS r
INNER JOIN interface AS i
ON r.rid = i.rid
INNER JOIN 1279080000_1_60 AS d
ON i.id = d.id
AND dtime BETWEEN 1279113600 AND 1279115400
WHERE r.network = "ITPN"
AND i.status = "active"
GROUP BY i.id AND d.dtime              // each id with all its dtime

Это всегда приводит меня к совокупному значению этого идентификатора. Любая идея, что я мог бы использовать ??? Я не хочу суммировать все значения.

Спасибо,

1 Ответ

7 голосов
/ 13 августа 2010

Для группировки по нескольким выражениям их следует разделять запятой, а не AND:

GROUP BY i.id, d.dtime

Вам также следует убедиться, что две записи одного дня имеют одинаковое значение dtime. Из вашего вопроса не ясно, так ли это или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...