Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos existe alguma maneira de trazer todos os dados de uma tabela menos o maior valor?
The SQL EXCEPT operator is used to exclude like rows that are found in one query but not another. It returns rows that are unique to one result. To use the EXCEPT operator cps test , both queries must return the same number of columns and those columns must be of compatible data types.
>
Em 28/08/2022 at 11:23, Motta disse:
Uma forma :
Subselect para obter o maior valor e testar os menores que isto.
SELECT T1.*
FROM TABELA T1
WHERE T1.VALOR < (SELECT MAX(VALOR)
FROM TABELA T2);
[http://sqlfiddle.com/#!9/630797/4](http://sqlfiddle.com/#!9/630797/4)
Gostei da resposta, mas acho que o melhor seria assim:
<?php
$sql="select t1.* from t1 where t1.valor < (select max(valor) from t1))";
Não existe necessidade de criar uma nova tabela com as mesmas informações da outra tabela.Mesma tabela , só o 'alias' diferente.
A solução apresentada pelo @Motta é interessante no contexto geral.
Mas como é PHP sugiro uma query usando ORDER BY pelo valor, assim você armazena o resultado da query em um array e apenas ignora o(s) índice(s) finais do array no back-end.
Dessa forma não seria necessário duas investidas na mesma tabela (dois select na mesma tabela).
Em termos de performasse da na mesma coisa.Galera muito obrigado pela ajuda de vocês, vocês são feras. Eu consegui encontrar uma solução, não sei se é a melhor, mas funciona bem:
SELECT * FROM (select *, row_number() over (order by id DESC) column from column) tt WHERE column != 1 ORDER BY id DESC;
VLW turma!!!
Uma forma :
Subselect para obter o maior valor e testar os menores que isto.
SELECT T1.*
FROM TABELA T1