Comment calculer la pente en SQL

J'ai des données dans une base de données sql et j'aimerais calculer la pente. Les données de cette mise en page:

Date        |  Keyword  |  Score    
2012-01-10  |  ipad     |  0.12    
2012-01-11  |  ipad     |  0.17    
2012-01-12  |  ipad     |  0.24    
2012-01-10  |  taco     |  0.19    
2012-01-11  |  taco     |  0.34    
2012-01-12  |  taco     |  0.45    

J'aimerais que le résultat final ressemble à ceci par la création d'une nouvelle table à l'aide de SQL:

Date        |  Keyword  |  Score |  Slope    
2012-01-10  |  ipad     |  0.12  |  0.06    
2012-01-11  |  ipad     |  0.17  |  0.06    
2012-01-12  |  ipad     |  0.24  |  0.06    
2012-01-10  |  taco     |  0.19  |  0.13    
2012-01-11  |  taco     |  0.34  |  0.13    
2012-01-12  |  taco     |  0.45  |  0.13

Pour compliquer les choses, tous les mots-clés ont 3 dates de données, certains ont seulement 2 par exemple.

Le plus simple, le SQL, le mieux depuis ma base de données est propriétaire et je ne suis pas tout à fait sûr de ce que les formules sont disponibles, même si je sais qu'il peut faire OVER(PARTITION BY) si ça peut aider. Merci!!!!

Mise à JOUR: je définir la pente au mieux y=mx+p aka dans excel, il serait =pente()

Voici un autre exemple que j'ai l'habitude de manipuler dans excel:

date        keyword         score       slope   
1/22/2012   water bottle    0.010885442 0.000334784  
1/23/2012   water bottle    0.011203949 0.000334784  
1/24/2012   water bottle    0.008460835 0.000334784  
1/25/2012   water bottle    0.010363991 0.000334784  
1/26/2012   water bottle    0.011800716 0.000334784  
1/27/2012   water bottle    0.012948411 0.000334784  
1/28/2012   water bottle    0.012732459 0.000334784  
1/29/2012   water bottle    0.011682568 0.000334784  
Jetez un oeil à cette question sur la Régression Linéaire en SQL. stackoverflow.com/questions/2536895/...
Comment définissez-vous la pente? Si vous avez plus de deux points de données, vous êtes juste de prendre la pente à partir du premier point au dernier point? Ou êtes-vous essayer de tirer un meilleur ajustement de la ligne entre tous les points? Si donc, à l'aide des moindres carrés linéaire ou autres algorithmes? Voulez-vous forcer la ligne de frapper l'un des points (sachant que l'on va diminuer la qualité globale de l'ajustement)?
Il y a quelques régression linéaire des fonctions d'Oracle. docs.oracle.com/cd/B10501_01/server.920/a96540/...
Je n'ai pas regr_slope disponible 🙁
est correcte, vous devez utiliser la régression linéaire, et son premier lien semble assez bonne. Un simple y = mx + c ne fonctionnera pas tant que vos données-les points ne pas, et ont très peu de chances de parvenir à un parfait "courbe". Aussi garder à l'esprit que, avec seulement 2 à 3 points de votre courbe va être assez inexact de toute façon.

OriginalL'auteur datayoda | 2012-01-31