Pentiums Posted February 20, 2008 Report Share Posted February 20, 2008 (edited) SELECT * FROM raksti ORDER BY id, 10 Ar šo te viņš izvelk rakstus un parāda pēdējos desmit... Bet kā dabūt to gatavu lai viņš parāda sākot no pēdējajiem desmit un beidzot ar pēdējajiem divdesmit? Edited February 20, 2008 by Pentiums Link to comment Share on other sites More sharing options...
andrisp Posted February 20, 2008 Report Share Posted February 20, 2008 (edited) Nevar būt, ka tas kverijs tev strādā (tb atgriež pēdējos 10). Pareizi būtu: SELECT * FROM raksti ORDER BY id LIMIT 10 Un vispār iesaku arī kārtošanas virzienu norādīt (ASC vai DESC). Tavā gadijumā, ja nejaucos, DESC vajag. Bet lai dabūtu, ko vēlies, tev vispār vajadzēs divus kverijus. SELECT * FROM raksti ORDER BY id DESC LIMIT 10 SELECT * FROM raksti ORDER BY id ASC LIMIT 20 Lai apvienotu vienā resultsetā, vari mēģināt izmanto UNION. Edited February 20, 2008 by andrisp Link to comment Share on other sites More sharing options...
Pentiums Posted February 20, 2008 Author Report Share Posted February 20, 2008 (SELECT a FROM t1 WHERE a=10 AND B=1) UNION (SELECT a FROM t2 WHERE a=11 AND B=2) ORDER BY a LIMIT 10; šādi? atradu te http://dev.mysql.com/doc/refman/5.0/en/union.html Link to comment Share on other sites More sharing options...
Pentiums Posted February 20, 2008 Author Report Share Posted February 20, 2008 da nekas nesanāca, parādīja i pirmo kveriju i otro... Link to comment Share on other sites More sharing options...
andrisp Posted February 20, 2008 Report Share Posted February 20, 2008 Nepareizi izmanto. Apvieno UNIONā tos divus kverijus ko iedevu. Link to comment Share on other sites More sharing options...
Pentiums Posted February 20, 2008 Author Report Share Posted February 20, 2008 vot atradu risinājumu!!!! bez union utt... SELECT * FROM raksti ORDER BY id DESC LIMIT 10, 20 Link to comment Share on other sites More sharing options...
Gints Plivna Posted February 20, 2008 Report Share Posted February 20, 2008 (SELECT a FROM t1 WHERE a=10 AND B=1) UNION (SELECT a FROM t2 WHERE a=11 AND B=2) ORDER BY a LIMIT 10; Kaut kas šajā Select teikumā nav labi. UNION pirmkārt atlasa tikai unikālās kombinācijas, tas nozīmē, ka atbilstoši pašreizējiem kritērijiem Tev atlasīs iespējams daudzus ierakstus ar vērtūbu 10 un iespējams daudzus ierakstus ar vērtību 11, bet tā kā UNIONS visas liekās kopijas izmetīs ārā tad paliks ne vairāk kā viens 10 un viens 11 un tad LIMIT 10 ir lieks. Paskaties šeit Kopas operatori Select pieprasījumā ko nozīmē UNION un UNION ALL. Gints Plivna Link to comment Share on other sites More sharing options...
Recommended Posts