Autor Zpráva
Waren
Profil
Pro jednotlivý ticker mám tento sql, abych si vytáhl data z burzy, ale jak docílit toho, když budu chtít při jednom dotazu vytáhnou více tickerů (na stránce jich může být až 100, takže jednotlivě se dotazovat asi nedává smysl) tím, že dotaz je na posledních x dat?

SELECT date_time, price FROM ticker_prices ORDER BY date_time DESC LIMIT 40
Kajman
Profil
Tipnul bych, že v mysql bude nejrychlejší sestavit dynamicky něco takového

(SELECT ticker_id, date_time, price FROM ticker_prices WHERE ticker_id=42 ORDER BY date_time DESC LIMIT 40)
UNION ALL
(SELECT ticker_id, date_time, price FROM ticker_prices WHERE ticker_id=24 ORDER BY date_time DESC LIMIT 40)
UNION ALL
(SELECT ticker_id, date_time, price FROM ticker_prices WHERE ticker_id=13 ORDER BY date_time DESC LIMIT 40)
UNION ALL
(SELECT ticker_id, date_time, price FROM ticker_prices WHERE ticker_id=50 ORDER BY date_time DESC LIMIT 40)
UNION ALL
(SELECT ticker_id, date_time, price FROM ticker_prices WHERE ticker_id=11 ORDER BY date_time DESC LIMIT 40)

Pokud na té tabulce bude dvousloupcový index (ticker_id,date_time). Když bude dostatečně nastavená maximální délka jednoho dotazu, mělo by se tam těch 100 vejít.
Waren
Profil
Díky, vyzkouším

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