Skip to main content

Variables en consultas de mySQL

mysql

Ultimamente junto con dmedina de webadictos.com.mx hemos estado leyendo mucho de la documentacion de mySQL ya que nos hemos topado con unos proyectos que necesitan consultas del otro mundo algo extensas y complicadas pero bendito sea mysql tiene por donde mejorar de todo, lo ultimo que tuve la necesidad es conservar variables dentro de una misma consulta ya que estaba manejando totales sacados con una subquery.

Encontre la solucion y es muy sencilla aqui les dejo un ejemplo:

SELECT a.*,
(@tv:=(views * ppview)) AS totalviews,
(@tc:=(clicks * ppclick)) AS totalclicks,
@tv + @tc AS grandtotal
FROM advertisements a
ORDER BY grandtotal desc;

El ejemplo fue posteado por Daevid en los comentarios de la documentacion de mysql, funciona en las versiones 4, 5 , no he probado en la 3.

Espero y les sirve ya que optimiza bastante bien la consulta y es muy util.

Corre la voz con tus amigos/contactos:

4 Replies to “Variables en consultas de mySQL”

  1. La otra forma de emplear variables es la siguiente:

    declare prec int default 0;
    declare codf varchar(5);
    set codf=’0001′

    select precio into prec from factura where codfact=codf;

  2. antes de ejecutar la consulta con variables… no hay que definirlas con set ?

    Al menos en lo que he probado, tengo que definirlas antes como Set @var=0, etc.. etc.. y despues viene la consulta que utiliza estas variables.

    Ahora mi problema es que de esas consultas necesito generar vistas,… en tal caso como defino las varibles ???

    Gracias.
    Alfredo ( [email protected] )

Compartir