Autor Zpráva
anonymní_
Profil *
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
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 *
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?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0