Ovako trebam da sortiram iteme iz date_posted ili iz date_edited ovisi gdje je vrijeme najblize trenutnom.
Format vremena “2018-03-18 16:03:48” (php: date(Y-m-d H:i:s)
Pokušao sam ove stvari:
"SELECT * FROM table ORDER BY GREATEST(date_posted, date_edited) …) ,
“SELECT *,
CASE WHEN date_posted > date_edited THEN date_posted
ELSE date_edited
END AS sorting_date
FROM table
ORDER BY sorting_date”
Sad, problem nastaje ovdje: U nekim kolonama je drukcij format vremena. NPR: “03-18-2018 bez sati”, “03 18 2018”, također neke kolone su prazne.
Većina praznih je date_posted.
Da li mogu nekako da postavim default u date_posted i na primjer ako je vrijeme isto, što bi i bilo, onda da sortiram po id. Ili neka druga solucija.
Nadam se da sam dovoljno obrazlozio problem. Hvala
Primjer bi bio:
SELECT DATEFORMAT(GREATEST(date_posted, date_edited), “%Y%m%d%H%i%s”) + STR(ID) sorting_date, …
FROM table
ORDER BY sorting_date
STR(id) bi trebala konvertirati id iz numeričke vrijednosti u string kako bi se mogla spojiti sa string vrijednošću datuma, da bi se na kraju dobilo nešto slično ovome:
20180319010100463232
20180319010101456789
20180319010101456792
20180319020101222222
Namjerno je ID prvog sloga veći od ID-a drugog i trećeg kako bi se vidjelo da je u tom slučaju datum dominantan. ID je bitan samo ako je datum jednak, što si i napisao u prvom postu.