Вот таблица, в которой я работаю:MySQL запросов - группировка по комбинированным идентификаторами
CREATE TABLE `index` (
`wid` int(7) unsigned NOT NULL,
`pid` int(7) unsigned NOT NULL,
`value` tinyint(3) unsigned NOT NULL DEFAULT '0',
UNIQUE KEY `wid` (`wid`,`pid`),
KEY `pid` (`pid`),
KEY `value` (`value`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
У меня есть целые значения «PID» соответствие различных «WID», которые только уникальны вместе.
Например, у меня есть:
pid - wid - value
1 - 5 - 7
1 - 6 - 5
1 - 7 - 9
2 - 5 - 2
2 - 8 - 4
3 - 8 - 8
3 - 7 - 12
4 - 5 - 5
.. - .. - ..
Теперь давайте предположим, что я хочу, чтобы получить PID, где WID соответствует 5 и 7 порядка самой высокой суммой VALUE.
So PID 1 соответствует 2 WID (5,7), сумма которых VALUE равна 16 (7 + 9). и ПИД-2 соответствует только 1 УЖР (5), сумма которых значение равно 2. и ПИД-3 соответствует WID (7), сумма которых значение равно 12.
мне нужно построить запрос, который делает это, и виды с помощью SUM VALUE по убыванию.
Такие, как:
SELECT
index.pid, SUM(index.value) TotalSum
FROM index
WHERE
index.wid = 5 or index.wid = 7
GROUP BY UNIQUE(index.pid)
ORDER BY TotalSum DESC
Я знаю, что этот запрос неверен, но я пытаюсь показать, что я пытаюсь сделать.
о я предполагаю, что операция SUM действительно существует лол. спасибо, что заставило меня решить это! – nick