J'ai une tableTrouver les données les plus proches de la date?
CREATE TABLE `symbol_details` (
`symbol_header_id` int(11) DEFAULT NULL,
`DATE` datetime DEFAULT NULL,
`ADJ_NAV` double DEFAULT NULL
)
avec 20.000.000 entrées ~. Maintenant, je veux trouver la valeur ADJ_NAV plus proche de la fin du trimestre pour un seul symbol_header_id:
SET @quarterend = '2009-3-31';
SELECT symbol_header_id AS she, ADJ_NAV AS aend FROM symbol_details
WHERE
symbol_header_id = 18546
AND DATE= (
# date closest after quarter end
SELECT DATE FROM symbol_details
WHERE ABS(DATEDIFF(DATE, @quarterend)) < 10
AND DATE<[email protected]
AND symbol_header_id = 18546
ORDER BY ABS(DATEDIFF(DATE, @quarterend)) ASC LIMIT 1)
Quand je lance l'intérieur « sélectionnez la date » requête retourne rapidement. Exécuter simplement la requête externe avec la date correcte remplie à la place de la sous-requête se termine également très rapidement. Mais quand je cours la chose entière cela prend pour toujours - quelque chose ne va pas?
Avez-vous un indice à la date ainsi que symbol_header_id? – Donnie
Je fais. Un sur date et un sur symbol_header_id et la date plus un sur symbol_header_id. Est-ce que cela change la façon dont ils interrogent est évalué? –