Witam,
Mam problem z pewnym zapytaniem. Mam tabele zawierajaca kilka kolumn, z czego w jednej kolumnie wiersze sie powtarzaja.
Chcialbym aby zapytanie zwrocilo mi tylko po jednym wierszu dla kazdej wartosci. Bardzo prosze o pomoc.
Pozdrawiam
SELECT r.id, r.code, temp.value FROM repeats r JOIN ( SELECT r2.id, r2.value FROM repeats r2 ORDER BY r2.value DESC )AS temp ON temp.id = r.id GROUP BY r.code
CREATE TABLE `test`.`repeats` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `code` INT NOT NULL , `value` INT NOT NULL , UNIQUE ( `value` ) ) ENGINE = MYISAM; INSERT INTO `test`.`repeats` ( `id` , `code` , `value` ) VALUES ( NULL , '1', '1' ), ( NULL , '1', '2' ), ( NULL , '1', '3' ), ( NULL , '2', '4' ), ( NULL , '2', '5' );
Zmiast MAX możesz podstawić inne, np. MIN, AVG.
SELECT kolumna_z_powtorzeniami, MAX(kolumna_bez_powtorzen) FROM tabela GROUP BY kolumna_z_powtorzeniami
Zmiast MAX możesz podstawić inne, np. MIN, AVG.
SELECT kolumna_z_powtorzeniami, MAX(kolumna_bez_powtorzen) FROM tabela GROUP BY kolumna_z_powtorzeniami