Jump to content

Recommended Posts

Posted (edited)

Olá boa

Eu pra seleccionar os meus artigos tenho isto:

Lista os 6 primeiros artigos

Select * from artigos where distrito='$distrito' and categoria='1'  order by destaque desc LIMIT $limit

Agora noutra área eu cria colocar os restantes artigos mas cria excluir os 6 primeiros, como posso fazer isso?

Edited by ricardocoimbra
Posted

existe duas maneiras simples e algo um pouco mais complicado :

  select *
   from artigos
  where distrito='DISTRITO'
    and categoria='1'
order by destaque desc
  limit 6, 9999999999

  select *
   from artigos
  where distrito='DISTRITO'
    and categoria='1'
order by destaque desc
  limit 9999999999 offset 6

no entanto, como podes ver estás a obrigado a dar um número de registos a serem apresentados (neste caso 9999999999 por sem um "numero grande")

ou então podes usar :

  select *
   from artigos
  where distrito='DISTRITO'
    and categoria='1'
    and id not in (select id
                     from artigos
                    where distrito='DISTRITO'
                      and categoria='1'
                 order by destaque desc
                    limit 6)
order by destaque desc

que é bem mais pesado porque estás a fazer dois queries, mas tens TODOS os registos que não são os 6 primeiros

nota : neste caso estou a assumir que a tabela tem a coluna "id" como primary key

  • Vote 1
IRC : sim, é algo que ainda existe >> #p@p

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.