S'il vous plaît des conseils comment combiner requête, pour find la première occurrence de la ligne
J'ai table
Date Counter 01.01.2005 208,5 02.01.2005 209,5 <----- start 03.01.2005 210,5 04.01.2005 211,5 08.01.2005 16,5 09.01.2005 17,2 10.01.2005 18,8 <------ correct 11.01.2005 19,7 12.01.2005 20,7 13.01.2005 21 14.01.2005 116,3 15.01.2005 120,4 16.01.2005 135,2 17.01.2005 1,1 18.01.2005 10,3 19.01.2005 18,7 <------ wrong 20.01.2005 14,2 21.01.2005 8,5 22.01.2005 7,1
et j'ai besoin d'extraire Date par Compteur 18.5 (à partir de la date de début 02.01.2005), puisque cette valeur n'est pas dans le tableau possible de prendre la prochaine valeur plus élevée.
J'ai essayé de searchr en utilisant la date de début (parce que la table a mille dates et le countur entre 0-499) et la limite pour la valeur (râpe ou égal).
select top 1 Date from Tabel1 where Date > 02.01.2005 AND Counter >= 18.5
cette requête renvoie un mauvais résultat – date 03.01.2005, mais correct doit être 10.01.2005. J'espère pour toute aide. Merci d'avance.
(J'utilise: sql 2008 r).
Vous devez mettre une clause ORDER BY
lors de l'utilisation de TOP
. Dans ce cas, vous voulez get le Counter
le plus bas:
SELECT TOP 1 * FROM tbl WHERE Date > CAST('20050102' AS DATE) AND Counter >= 18.5 ORDER BY Counter
Notez que sans ORDER BY
, le résultat de TOP 1
n'est pas garanti pour toujours être le même.