Foros del Web » Programando para Internet » ASP Clásico »

seleccion aleatoria en MySQL = rand () en MSSQL y ACCESS ????????

Estas en el tema de seleccion aleatoria en MySQL = rand () en MSSQL y ACCESS ???????? en el foro de ASP Clásico en Foros del Web. hola quiero hacer una consulta aleatoria con mySQL he usado Order by rand () pero en MSSQL y/o ACCESS no se como hacerlo :( gracias ...
  #1 (permalink)  
Antiguo 21/06/2006, 06:43
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 5 meses
Puntos: 6
seleccion aleatoria en MySQL = rand () en MSSQL y ACCESS ????????

hola
quiero hacer una consulta aleatoria

con mySQL he usado Order by rand () pero en MSSQL y/o ACCESS no se como hacerlo :(

gracias x las ayudas
  #2 (permalink)  
Antiguo 21/06/2006, 07:38
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
ORDER BY newid(). en mssql

Última edición por trasgukabi; 21/06/2006 a las 08:20
  #3 (permalink)  
Antiguo 21/06/2006, 07:50
Avatar de horizonte  
Fecha de Ingreso: octubre-2005
Ubicación: A 50cm del Monitor(el angulo depende del estado de animo)
Mensajes: 148
Antigüedad: 18 años, 6 meses
Puntos: 1
Hola:

Mira, que yo sepa la API de SQL Server no tiene algo como Order by rand() o similar.

Lo que se podria hacer es una funcion/script que te devuelva una columna de la tabla con algun algoritmo aleatorio.

Saludos.
__________________
Mientras tanto aqui, en la Gran Ciudad...
Una nueva hora,...Comienza
:Zzz:
  #4 (permalink)  
Antiguo 21/06/2006, 07:52
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 6 meses
Puntos: 27
no en access no funciona segun tengo entendido, alguien lo posteo en este foro.

yo copie un codigo de radom que estaba en este foro que es asi:

Cita:
'el id titulo tambien lo obtengo en otro sql pero de la ultima es un orden by
'descendente y asi obtengo una foto aleatoria de mi ultima galeria adicionada
SQL="SELECT * FROM foto_galeria where id_titulo= 32"
rs.OPEN sql, oconn, 3, 1

intTotalRecords = rs.RecordCount
Randomize()
intRandomNumber = Int((intTotalRecords * Rnd))
rs.Move intRandomNumber

no se si esto querias pero suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 21/06/2006, 10:17
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Acá tenés apra access y sqlserver: http://www.aspfaq.com/show.asp?id=2132
__________________
...___...
  #6 (permalink)  
Antiguo 21/06/2006, 10:21
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 5 meses
Puntos: 6
JuanRAPerez
el script ese me vale, pense q podria ponerlo en la consulta SQL pero viendo q no, ya estoy usandolo

gracias
  #7 (permalink)  
Antiguo 21/06/2006, 10:24
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 5 meses
Puntos: 6
perdona Al no t habia leido, no he probado esta opcion para access que hay en tu url

<%
Randomize()
randNum = (CInt(1000 * Rnd) + 1) * -1

set conn = CreateObject("ADODB.Connection")

sql = "SELECT TOP 1 cols," & _
"r = Rnd(" & randNum & ")" & _
"FROM TableName " & _
"ORDER BY r"

set rs = conn.execute(sql)

response.write rs(0)

' ...
rs.close: set rs = nothing
conn.close: set conn = nothing
%>

que beneficios puede tener esta opcion con respecto a la de JuanRAPerez???
aparentemente ahorro de recursos no? algo mas?
  #8 (permalink)  
Antiguo 21/06/2006, 10:42
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Pasa que, si no me equivoco, el script propuesto por JuanRAPerez devuelve sólo 1 registro aleatorio y el otro devuelve todos los registros que quieras ordenados de manera aleatoria. Esa sería la diferencia fundamentel (reitero: si no me equivoco)
__________________
...___...
  #9 (permalink)  
Antiguo 21/06/2006, 10:43
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Ahhh... ojo, que así como está en el enlace (con el TOP 1) siempre va a traer sólo un registro. Quitale el TOP 1 y listo.
__________________
...___...
  #10 (permalink)  
Antiguo 21/06/2006, 12:09
 
Fecha de Ingreso: noviembre-2002
Mensajes: 746
Antigüedad: 21 años, 5 meses
Puntos: 6
gracias, en principio solo necesito un registro y ya que tengo puesta la otra forma la voy a dejar, pero me apunto esta solucion ya que me parece mas limpia.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:36.