konto usunięte

Temat: Problem z zapytaniem

Witam serdecznie,
Mam takie zapytanie:

SELECT * FROM cms_obiekty WHERE typobiektu = '1' AND STATUS <> '0' AND STATUS = '1' ORDER BY RAND(), special DESC, polecany DESC, panoramka DESC LIMIT 0,10

i bazę:

CREATE TABLE IF NOT EXISTS `cms_obiekty` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`idusera` int(60) DEFAULT NULL,
`typobiektu` smallint(2) DEFAULT NULL,
`rodzajobiektu` smallint(2) DEFAULT NULL,
`panoramka` varchar(60) collate utf8_unicode_ci NOT NULL,
`special` smallint(6) NOT NULL,
`polecany` smallint(6) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci


w polach: special , polecany i panoramka mam wartości 0 i 1.
chciałbym wyświetlić wyniki sortując po special, polecamy i panoramka od 1 do 0 - oraz to co zostanie wyświetlone wymieszać (zachowując warunek)...

Generalnie chodzi o listę obiektów, które za każdym przeładowaniem strony będą się zmieniały (losowały)...

Wiecie może co jest nie tak w tym zapytaniu?

Łukasz
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: Problem z zapytaniem

ORDER BY RAND()
chyba powinno być jako ostatnie... tj:
ORDER BY special DESC, polecany DESC, panoramka DESC, RAND()

pozdrawiaMM

konto usunięte

Temat: Problem z zapytaniem

nie sortuje :( dałem to rand na koniec, idą wpisy od 1 do 0, ale nie są losowo mieszane :(
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: Problem z zapytaniem

To spróbuj tak:
SELECT *, RAND() x FROM cms_obiekty WHERE typobiektu = '1' AND STATUS <> '0' AND STATUS = '1' ORDER BY special DESC, polecany DESC, panoramka DESC, x LIMIT 0,10

konto usunięte

Temat: Problem z zapytaniem

też nie losuje :(
Arkadiusz Burszczan

Arkadiusz Burszczan Programista Java

Temat: Problem z zapytaniem

Nie ma bata, zapytanie musi działać.
SELECT * FROM cms_obiekty WHERE typobiektu = '1' AND STATUS <> '0' AND STATUS = '1' ORDER BY  special DESC, polecany DESC, panoramka DESC, RAND() LIMIT 0,10 

Możę po prostu masz jakieś złe dane w tabeli, albo zbieg okoliczności nie wiem, generalnie stosowanie RAND(), powoduje losowe wyświetlanie rekordow.

konto usunięte

Temat: Problem z zapytaniem

czy w ramach danych kolumny special , polecany , panoramka nie dają unikalnej kombinacji?

Następna dyskusja:

problem z polskimi znakami




Wyślij zaproszenie do