Autor | Zpráva | ||
---|---|---|---|
sajgon Profil * |
#1 · Zasláno: 1. 2. 2011, 18:26:42
Zdravíčko,
existuje nějaký jednoduchý dotaz, který by mi zobrazil všechny výsledky kromě prvního? Zkoušel jsem to řešit limitem, nicméně jsem musel zadat rozsah, a to mi po čase přestalo vyhovovat: (SELECT * from tabulka LIMIT 1, 100) Zkrátka něco, co by mi nahradilo 100 Díkes |
||
Alphard Profil |
#2 · Zasláno: 1. 2. 2011, 18:49:03
sajgon:
Jestli nestačí 100, dejte tam 1000000. Pokud vím, MySQL neumožňuje nastavit offset bez limitu. Řešit to podmínkou by bylo asi zbytečné zpomalení. Na straně PHP lze přeskočit první záznam, ale za cenu podmínky nebo prázdného volaní mysql_fetch_assoc() ) (nebo alternativy), to také pěkné nebude. |
||
candiess Profil |
#3 · Zasláno: 1. 2. 2011, 19:02:49
Mezi neefektivní a neelegantně hnusné řešení patří..
<?php $query = mysql_query(" SELECT * FROM tabulka "); $num_rows = mysql_num_rows($query); //spočítání řádků v tabulce $query2 = mysql_query(" SELECT * FROM tabulka LIMIT 1,$num_rows "); //další práce s $query2 ?> |
||
AM_ Profil |
#4 · Zasláno: 1. 2. 2011, 19:07:30
candiess:
navíc nefunkční, musel bys na to tu tabulku zamknout nebo z toho udělat transakci. Zadat dostatečně velké číslo je spolehlivější řešení, určitě není chybou 18446744073709551615 (maximum of unsigned BIGINT). |
||
Sajgon Profil * |
#5 · Zasláno: 1. 2. 2011, 19:08:18
Děkuji za reakce, nejjednodušší je tedy použít
LIMIT 1, 1000000 ;-) |
||
Časová prodleva: 13 let
|
0