Article View: es.comp.lenguajes.php
Article #164Re: leyendo registros en SQL
From: "Álvaro G. Vicario"
Date: Fri, 12 Dec 2008 12:15
Date: Fri, 12 Dec 2008 12:15
41 lines
3184 bytes
3184 bytes
Silvio escribi�:
> On 10 dic, 19:08, "Pin" <sd...@rewerew.we> wrote:
>> Hola, tengo una tabla SQL de unos 3000 registros, me gustaria leerlos en
>> bloques de 50 al azar, vamos que la primera vez leemos 50 al azar, la 2� vez
>> lo mismo pero que no se repitan con los primeros y asi, �hay alguna funci�n
>> para esto?
>> De momento lo que he hecho es leer todos los registros y cargarlos a una
>> tabla y a�adir un campo extra para ver is ya ha sido seleccionado o no, pero
>> no me termina de gustar, si alguien conoce otra forma, me gustar�a o�rla.
>
> Quiz�s te convenga obtener el md5 o hash de alg�n campo o de la
> concatenaci�n de alg�n campo y ordenar por eso.
Esta idea es muy buena. Ya para rematar, se puede le puede incorporar un
valor al hash (generado aleatoriamente desde PHP, pero el mismo para
todas las lecturas) que garantice un orden distinto en cada sesi�n pero
el mismo dentro de la sesi�n.
$sql = "select * " .
"from personas " .
"order by md5('" . $semilla_sesion . "' || id)";
>
> en PG.
> select * from personas order by md5( apellido || nombre ) limit xxx
> offset xxx;
>
> en MySQL
> select * from personas order by md5( concat( apellido, nombre ) )
> limit xxx offset xxx;
>
> Silvio
--
-- http://alvaro.es - �lvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programaci�n web: http://bits.demogracia.com
-- Mi web de humor al ba�o Mar�a: http://www.demogracia.com
--
Technical Details
Message-ID:
<ghtklu$9ci$1@huron.algomas.org>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!news.newsland.it!news-15.escomposlinux.org!not-for-mailReferences:
<ghpdvb$t02$1@caladan.landsraad.net> <1a253311-918f-46b6-a082-c990501f6778@i18g2000prf.googlegroups.com>Show Full Headers
Complete Article Headers
X-Google-Thread: 107579,e61d80209d52e6da X-Google-Attributes: gid107579,domainid0,public,usenet X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!news.newsland.it!news-15.escomposlinux.org!not-for-mail From: "Álvaro G. Vicario" <alvaroNOSPAMTHANKS@demogracia.com> Newsgroups: es.comp.lenguajes.php Subject: Re: leyendo registros en SQL Date: Fri, 12 Dec 2008 13:15:56 +0100 Organization: escomposlinux.org Lines: 41 Message-ID: <ghtklu$9ci$1@huron.algomas.org> References: <ghpdvb$t02$1@caladan.landsraad.net> <1a253311-918f-46b6-a082-c990501f6778@i18g2000prf.googlegroups.com> NNTP-Posting-Host: 51.red-80-37-14.staticip.rima-tde.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: huron.algomas.org 1229084158 9618 80.37.14.51 (12 Dec 2008 12:15:58 GMT) X-Complaints-To: netnews@news-15.escomposlinux.org NNTP-Posting-Date: Fri, 12 Dec 2008 12:15:58 +0000 (UTC) User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) In-Reply-To: <1a253311-918f-46b6-a082-c990501f6778@i18g2000prf.googlegroups.com> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAAK/INwWK6QAAABl0 RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQAAAP///6XZn90AAADwSURB VHjaxJZREsMgCAXX+1+6bZoY0IfgTDr1K4msAg8xtM3BPwDeYw9Y7vsIwBaAHSlgzCIIb65SFgFR MofPZPYjQS653iEWl6eAqlIpEKR11icTjrkw1h5+5mc7gSGPzWIj5rI74fNVB90nnc1xkiRglzbf jpOkgH4Cut25PG3OhFnxmgF1+Kyftws4Fd3a1zOi/ui+iCpBVUckNT5v5C10AJYt0rSssXy2AL8J MgaTsdEnL8D3EZmWQLuxkaWtqAhQAJqviQLQTKytBNzxtiqwF0Oh3QcNf3GhzErLGie+EXX1yltt Vee//zl5CTAA4FAHcXyuylAAAAAASUVORK5CYII=