Vypsání řádků od jednoho specifického řádku – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vypsání řádků od jednoho specifického řádku – MySQL – Fórum – Programujte.comVypsání řádků od jednoho specifického řádku – MySQL – Fórum – Programujte.com

 

Jackoob
~ Anonymní uživatel
1 příspěvek
9. 10. 2022   #1
-
0
-

Zdravím přátelé, mám dotaz, v mysql nejsem moc zběhlý - mám takové počítání cyklů u kotle, kde měřím otáčky šneka podavače paliva. 1 otáčka šnek = 1 tick

Každou minutu posílám do mysql počet otáček za poslední minutu a ve chvíli, kdy zmáčknu tlačítko u kotle, tak na server pošlu počet ticků -1 (který má označovat reset naplnění násypky)

Jak vhodě vypsat všechny řádky od posledního řádk, kde je počet -1?

Dám příklad:

ID|datetime|ticks
1|xxxx|1
2|xxxx|3
3|xxxx|0
4|xxxx|-1 <-- reset
6|xxxx|2
7|xxxx|4
8|xxxx|1

A v tuhle chvíli chci v mysql vybrat ID 6,7,8 abych mohl napočítat koncový součet 7 otáček od posledního resetu.

Pomůže mi samozřejmě celý dotaz, nicméně bych poprosil i o vysvětlení. Díky moc

Nahlásit jako SPAM
IP: 37.48.19.–
gna
~ Anonymní uživatel
1891 příspěvků
9. 10. 2022   #2
-
0
-

V SQL jde dělat "subquery". Můžeš tak použít výsledek selectu jako hodnotu v jiném výrazu. To může být dost neefektivní, ale v tomhle případě na tom nesejde.

Takže můžeš třeba vyselektovat datum posledního plnění a to použít pro vyselektování novějších záznamů.

SELECT *
FROM   tabulka
WHERE  datetime > (SELECT Max(datetime)
                   FROM   tabulka
                   WHERE  ticks = -1)
Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1891 příspěvků
9. 10. 2022   #3
-
0
-

A toto teda vyžaduje, aby ten sub-select něco našel. Pokud chceš, aby to fungovalo vždy, tak to můžeš třeba zabalit do IFNULL. 

IFNULL( (select ... ), 0 )
Nahlásit jako SPAM
IP: 213.211.51.–
MilanL+1
Grafoman
17. 10. 2022   #4
-
0
-

#2 gna
Souhlasím, pokud tam má i datetime, lze použít, trošku bordel mu to udělá při přechodu z letního na zimní čas, kdy se opakuje jedna hodina, ale pochybuju že bude resetovat počítadlo v noci mězi 2-3h.

Podobně by šlo použít i ID, ale to už nemusí být v některých situacích tak úplně košer.

Nahlásit jako SPAM
IP: 91.139.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý