Используя приведенный ниже код таблицы, меня попросили составить список, отсортированный по рейтингу каждого элемента.Каждый ранг столбца # это то, как каждый пользователь будет оценивать этот элемент.Таким образом, для элемента A, если он был оценен 1 одним пользователем и 16 другим, его общее ранжирование должно быть 8. Есть ли возможный запрос SQL для этого или обработать его в PHP?
CREATE TABLE `rankings` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`userId` int(11) NOT NULL,
`rank1` int(11) NOT NULL,
`rank2` int(11) NOT NULL,
`rank3` int(11) NOT NULL,
`rank4` int(11) NOT NULL,
`rank5` int(11) NOT NULL,
`rank6` int(11) NOT NULL,
`rank7` int(11) NOT NULL,
`rank8` int(11) NOT NULL,
`rank9` int(11) NOT NULL,
`rank10` int(11) NOT NULL,
`rank11` int(11) NOT NULL,
`rank12` int(11) NOT NULL,
`rank13` int(11) NOT NULL,
`rank14` int(11) NOT NULL,
`rank15` int(11) NOT NULL,
`rank16` int(11) NOT NULL,
`submissionTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
Воттаблица, к которой относится каждый столбец ранга #:
CREATE TABLE `rankableItems` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`itemName` varchar(30) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1;