Wordpress baza - čudan problem

Imam jednu čudnu situaciju sa sql upitom kod wordpress baze. Znači u tablici wp_postmeta se upisuje broj pregleda nekog članka

znači to izgleda ovako

post_id = ID članka
meta_key = views
meta_value = broj gledanja

i sada ja napravim ovaj upit

SELECT * FROM wp_postmeta WHERE meta_key = ‘views’ ORDER BY meta_value DESC LIMIT 5

Taj upit bi trebao vratiti 5 unosa kod kojih je meta_key = views, i sortirati ih tako da oni sa najvecim meta_value budu na vrhu.

uglavnom, meni uvijek izlista 5 unosa gdje je meta_value = 9, mada ima onih koji imaju veću vrijednost.

kad recimo taj upit izmjenim ovako

SELECT * FROM wp_postmeta WHERE meta_key = ‘views’ AND meta_value > 30 ORDER BY meta_value DESC LIMIT 5

u tom slučaju mi ispiše točno, znači i one veće od 9.

Pokušao sam direktno u phpmyadminu kliknuti na meta_value pa na taj način sortirati, i opet mi na vrh stavi ove sa 9.

Nikako ne mogu shvatiti gdje je problem, jel radim nešto krivo ili?

Ne znam da li ti jos treba, obzirom da je proslo 15-ak dana ali:
obzirom na ovo sto si napisao, kolona meta_value mi se cini da je tipa varchar tako da je trebas eksplicitno castati u integer:

SELECT * FROM wp_postmeta WHERE meta_key = ‘views’ ORDER BY cast(meta_value as signed) DESC LIMIT 5

nisam siguran da li je sintaktički ispravno pošto radim sa postgresqlom a ne mysqlom :slight_smile:


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja