Új hozzászólás Aktív témák
-
cidalain
veterán
válasz
cidalain
#1974
üzenetére
Az a verzio lesz valoszinuleg, hogy mivel a bejovo adathalmazban nem osszevissza vannak idopontok, es az adatok fejreszeben benne van a kezdo es vegidopont, igy le fogom kerdezni az adatbazisbol elore a start-end idopont kozotti hibas erteku bejegyzeseket.
Ez jo esetben 0 bejegyzest fog tartalmazni, rossz esetben ugye sokat. De a bejovo adathalmaz 80%-ban nem tartalmaz 250-nel tobb adatot, igy az arra az idopontra vonatkoztatott hibas adatok sem lehetnek tobben
A bejovo adatok fajlban vannak soronkent kell feldolgozni, igy tudom csekkolni az elore lekerdezett hibas ertekesek idopontjanal, hogy lett e jo ertek helyette.
Igy ossze tudok allitani egy INSERT IGNORE-t az adatok nagy reszere, es egy REPLACE beszurast azokra amiknel hibat tartalmazott a bazis.Igy egy SELECT lenne csak, egy INSERT IGNORE, es adott esetben egy REPLACE utasitas, ami azert meg vallalhato, a PHP-ban a check sem lesz talan veszes idoben.
A check-et parameterezhetore irom, igy ha nagyon sok adat jonne, vagy valami, akkor ki tudnam kapcsolni.
-
Apollo17hu
őstag
válasz
cidalain
#1499
üzenetére
Optimalizáláshoz nem értek, de munkahelyemen előfordul, hogy aktuális devizaértékekkel kell számolni.
Ehhez egy olyan táblánk van, ami minden nap eltárolja a napi középárfolyamokat. Lényegében úgy néz ki a tábla, mint a te átgondolt táblád, csak nem percenként van szükség az árfolyamra, hanem naponta.
-
cidalain
veterán
válasz
cidalain
#1498
üzenetére
ha az átgondolt táblát használom akkor egy ilyen egyszerű lekérdezéssel meglennék:
SELECT MAX(date) AS last,type,value FROM `data2`
GROUP BY typeilletve dinamikussá is válna, hisz bármilyen típusú valuta bejöhet később ami most nincs, illetve ki is kerülhet ami már nem kell gond nélkül.
csak rohadtul sok adatom lesz így feleslegesen, attól félek.
-
Apollo17hu
őstag
válasz
cidalain
#1491
üzenetére
valid id lastvalue
val1 4 ló
val2 3 3
val3 5 12345Ez a kimenet szerintem nem megvalósítható, mert a lastvalue mezőben eltérő adattípusok szerepelnének.
Helyette a másik kimenetre egy megoldás:
SELECT s.id, s.val1, "" AS val2, "" AS val3
FROM (SELECT max(id) AS last_id
FROM sample
WHERE val1 <> "") t
,sample s
WHERE s.id = t.last_id
UNION
SELECT s.id, "" AS val1, s.val2 AS val2, "" AS val3
FROM (SELECT max(id) AS last_id
FROM sample
WHERE val2 <> "") t
,sample s
WHERE s.id = t.last_id
UNION
SELECT s.id, "" AS val1, "" AS val2, s.val3 AS val3
FROM (SELECT max(id) AS last_id
FROM sample
WHERE val3 <> "") t
,sample s
WHERE s.id = t.last_id -
Új hozzászólás Aktív témák
- Battlefield 6
- Telekom mobilszolgáltatások
- Project Motor Racing-Straight4 Studios
- One mobilszolgáltatások
- Milyen házat vegyek?
- Apple iPhone 15 Pro Max - Attack on Titan
- Elemlámpa, zseblámpa
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Mibe tegyem a megtakarításaimat?
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- iPhone 15 Pro 128GB Silver Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3595
- ÚJ HP ProBook 445 G11 - 14" WUXGA - Ryzen 5 7535U - 16GB - 256GB - MAGYAR - 2+ év garancia
- magyar billentyűzet - 136 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Apple iPhone 13 256GB / Kártyafüggetlen / 12Hó Garancia / 100% Akku
- HIBÁTLAN iPhone 14 Pro 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS3235
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő





