- Nvidia GPU-k jövője - amit tudni vélünk
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- HiFi műszaki szemmel - sztereó hangrendszerek
- Apple MacBook
- Gaming notebook topik
- Fejhallgató erősítő és DAC topik
- Milyen processzort vegyek?
- Bambu Lab 3D nyomtatók
- 3D nyomtatás
- Milyen monitort vegyek?
Új hozzászólás Aktív témák
-
Taci
addikt
Az 5 táblában 5 különböző forrásból származó bejegyzések vannak, jellemzően több száz (idővel több ezer), ezért vannak már eleve külön táblákba mentve.
És a bejegyzéseket jelenítem meg az oldalon időrendi sorrendben.
Viszont mivel sokszor előfordult, hogy frissült az adatbázis, miközben lapozgattam a listázott bejegyzések között (egyszerre csak 4-et jelenít meg (LIMIT 4, csak azt nem másoltam be a kódrészletbe), aztán görgetés után a következő 4-et, és így tovább), ezért újra ugyanazt a bejegyzést jelenítette meg (mert megjelenítette a 4 legfrissebbet, aztán frissült a bejegyzés, frissebb bejegyzések kerültek előre, tovább görgettem, betöltötte a következő 4-et, de azok egyszer már meg lettek jelenítve a frissítés előtt, így kvázi duplán jelentek meg (nem egymás után, de ha visszagörgettem feljebb, akkor láttam)). Ezért csináltam meg így, hogy amit már egyszer megjelenített, újra nem fogja.Ha fontos az időben csökkenő rendezés, akkor én tennék egy select * from ( ) order by date desc-et az unionok köré.
Itt nekem az a lényeg, hogy az 5 táblából a lapra a bejegyzések időrendi sorrendben kerüljenek. Tehát ha a legfrissebb a table2-ben van, akkor azt jelenítse meg először. Ha a második és harmadik legfrissebb a table4-ben, akkor utána azokat. Lehet, hogy a table1-ben lévő bejegyzések csak a sokadik 4-es csoportban jelennek majd meg, mert annyival régebbi bejegyzések.Logikus teljesen, amit írsz, csak át kell gondolnom, hogy nálam miért jeleníti meg pont úgy, ahogy én akartam - ellenőriztem milliószor az időbélyegzőket is.
Köszi, hogy felhívtad rá a figyelmem, átnézem majd még egyszer.
Tehát ha az első lekérdezést nézem (ahol még nincs kizárva egy ID sem), akkor egy zárójelpár hozzáadása a megoldás, igaz? Így:
(SELECT * FROM table1UNION ALLSELECT * FROM table2UNION ALLSELECT * FROM table3UNION ALLSELECT * FROM table4UNION ALLSELECT * FROM table5)ORDER BY date DESCLIMIT 4Legalábbis elvileg, lehet, ez így hibára fut, nem tudom, csak este/holnap tudom majd kipróbálni.
Ez visszaadja a 4 legfrissebb bejegyzést, majd a következő lekérdezés már ennek a 4-nek az ID-jait kizárja, pl. így:
(SELECT * FROM table1UNION ALLSELECT * FROM table2WHERE id NOT IN (1)UNION ALLSELECT * FROM table3UNION ALLSELECT * FROM table4WHERE id NOT IN (1,2)UNION ALLSELECT * FROM table5WHERE id NOT IN (1))ORDER BY date DESCLIMIT 4Így lesz a jó?
Köszi.
Új hozzászólás Aktív témák
- Nvidia GPU-k jövője - amit tudni vélünk
- Hobby rádiós topik
- hcl: GPT diszk kisebbre klónozása
- Parfüm topik
- Óra topik
- Formula-1
- Peugeot, Citroën topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Lenovo Yoga Tab 11 4/128 YT-J706X LTE STORM GRAY
- MacBook Pro 15 Mid 2015 i7 / 16GB RAM / 256GB SSD
- ÚJ ASUS GAMER ERŐMŰ PC RYZEN 7 7800X3D 32Gb DDR5 1.0TB SSD ÚJ ASUS PRIME RTX 5070 12Gb DDR7 2ÉV GAR!
- HIBÁS - Lenovo ideapad 320-15IAP
- ÚJ ASUS B550 AMD RYZEN 5 5600X GAMER MAX PC 32Gb RAM 512GB SSD NVIDIA RTX 3070TI 8GB DDR6 2ÉV GAR!
- 27% - Lenovo N27q IPS Monitor! 2560x1440 / 100Hz / 4ms
- Dell XPS 13 9300 i7-1065G7 8GB 512GB FHD+ 500nit! 1 év garancia
- HP EliteBook 840 G7 i5-10210U 8GB 256GB FHD 400nit 1 év garancia
- Asus 17 TUF Gaming FHD IPS 144Hz G-Sync Ryzen7 7435HS 16GB 512GB Nvidia RTX 4060 8GB Win11 Garancia
- Azonnali készpénzes Intel i3 i5 i7 i9 12/13/14 gen processzor felvásárlás személyesen / csomagküldés
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

