| Autor | Zpráva | ||
|---|---|---|---|
| wolf_2006 Profil * |
#1 · Zasláno: 19. 11. 2014, 09:17:00
Ahoj,
mám tabulku, kam ukládám každých 15 min údaje z plc (podle ID, Datum, Vyrobeno, ID_Mista ). Pole datum ukládá datum i čas. Občas se stane, že se záznam neuloží (problém s internetem, nedostupnost DB na hostingu ...) a já bych potřeboval nějak zjistit a vypsat vypsat časy,pro které chybí záznam. Doufám, že jsem to popsal srozumitelně :) |
||
| jefitto44 Profil |
#2 · Zasláno: 19. 11. 2014, 11:18:55
Môžeš si to súčasne ukladať do nejakého .txt súboru a potom porovnávať
|
||
| Str4wberry Profil |
#3 · Zasláno: 19. 11. 2014, 11:39:52
1) Můžete si vytvořit cyklus s krokem 15 minut a pro každý datum a čas kontrolovat, jestli pro něj existuje záznam. Třeba s nějakou časovou tolerancí několika minut.
Pokud by to bylo pomalé, mohl by se nejdřív pro odhad udělat součet záznamů za den/týden/měsíc a jednotlivé záznamy kontrolovat až v momentě, kdy by neseděl ten součet. 2) Další možnost by byla v momentě vložení záznamu zkontrolovat, jestli je předcházející záznam přibližně 15 minut starý. Kdyby ne, znamená to, že nějaký záznam chybí. 3) Také by šlo CRONem každých 15 minut kontrolovat, jestli přibyl záznam. |
||
| Kajman Profil |
#4 · Zasláno: 19. 11. 2014, 13:15:53
wolf_2006:
Možná bych si udělal pomocnou tabulku s časovými intervaly, kde se záznam očekává. Např. od do 2014-11-19 13:00:00 2014-11-19 13:14:59 2014-11-19 13:15:00 2014-11-19 13:29:59 ... Pak bych zkusil ke každému řádku (v potřebném intervalu) najít počet uložených údajů. Něco jako SELECT p.od, p.do, Count(u.datum) pocet, Min(u.datum) prvni, Max(u.datum) posledni FROM pomocna p LEFT JOIN udaje u ON u.datum BETWEEN p.od AND p.do WHERE p.od BETWEEN '2014-11-01' AND '2014-11-30 23:59:59' GROUP BY p.od, p.do HAVING pocet != 1 ORDER BY p.od Pokud jsou časy v časové zóně, kde se přechází na letní čas, nebude tato kontrola při změně času funkční. |
||
|
Časová prodleva: 12 let
|
|||
0