Autor | Zpráva | ||
---|---|---|---|
anonymní_ Profil * |
#1 · Zasláno: 21. 11. 2016, 21:45:02
Ahoj,
chci se zeptat. Máme v tabulce sloupec "created" a v něm několik záznamů. Potřeboval bych vytáhnout: - Maximální dobu ve dnech, mezi dvěma záznamama - Průměrnou dobu ve dnech, mezi záznamama Je toto přes SQL vůbec možné? Zkoušel jsem něco přes TIMESTAMPDIFF a DATEDIFF ale nedostal jsem se k tomu, jelikož jsem našel návody jen na porovnávání dvou sloupců, nikoliv jednoho sloupce ve více řádcích. Můžete někdo poradit? Díky |
||
TomášK Profil |
#2 · Zasláno: 21. 11. 2016, 21:56:16
Je to analogie očíslování řádků. Pokud máš databázi, která umí window funkce, je to jednoduché
LAG() OVER(ORDER BY ...) . Pokud máš MySQL, tak můžeš použít proměnné a doufat, že to bude fungovat nebo se smířit s tím, že to nebude moc rychlé a najoinovat všechny menší časy a pak to prohnat přes GROUP BY nebo to udělat až v aplikaci.
|
||
anonymní_ Profil * |
#3 · Zasláno: 21. 11. 2016, 22:00:29
Ahoj,
díky za odpověď. Teď jsem to zkusil takto: SELECT DATEDIFF(MAX(created), MIN(created)) / (COUNT(created) - 1) FROM table a zdá se, že to funguje:-) Lze něco takového udělat i pro tu Maximální dobu? |
||
Časová prodleva: 8 let
|
0