SELECT `article`, `from`
FROM `wildberries`
WHERE `from` >= '2016-02-01' AND `end` <= '2017-05-04'
GROUP BY `article`
ORDER BY `article` DESC
LIMIT 20
SELECT COUNT(DISTINCT `article`)
FROM `wildberries`
WHERE `from` >= '2016-02-01' AND `end` <= '2017-05-04'
Палитра находится сразу после BITMAPINFOHEADER?
То есть fseek(filePtr, bitmapFileHeader.bfOffBits, SEEK_SET);
Ну и аналогичные AFTER UPDATE и AFTER DELETE.
Вариант с ON DUPLICATE KEY UPDATE хорош тем, что позволяет сделать всю выборку из `votes` одним запросом SELECT.