Note importante : «date» est un mot réservé en SQL. L'utiliser pour nommer une colonne peut conduire à des résultats incohérents.
Je suggère de renommer la colonne et de refaire le test avant d'aller plus loin.
Ce que je recommande volontier et qui est relativement standard, c'est de suffixer le nom de la table avec ce qui servira ensuite à préfixer les noms de colonne.
Pour la création de la table, ça donnerait ici :
CREATE TABLE `temp_donnees_td` (
`td_id_serie` bigint(20) unsigned default NULL,
`td_date` date default NULL,
`td_valeur` double default NULL,
KEY `td_date` (`date`),
KEY `td_id_serie` (`td_id_serie`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Adapter ensuite les requêtes ...
SELECT *
FROM temp_donnees
WHERE td_id_serie = 22
ORDER BY td_date;
______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)