0
によっては、ここで私が働いているテーブルです:mysqlのクエリ - グループ化複合IDS
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
.. - .. - ..
は、今の私はWIDがVALUEの最高合計5と7の順序と一致するPIDを取得したいとしましょう。
そこでPID 1は2 WIDの(5,7)は、その和VALUE 16(7 + 9)であると一致しました。 とPID 2試合(5)の合計値2 され、PID 3は、(7)は、その合計VALUE私はSUM値でこれを実行したクエリや並べ替えを構築する必要がある12
あるWIDと一致する唯一の1 WID降順。など
:
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操作は実際には存在しないと思います。私はそれを解決するhalpedありがとう! – nick