Vamos por partes...
1) Estás posteando una duda para usar MySQL en el foro de SQL Server. No son el mismo DBMS y puede haber diferencias sintácticas que compliquen lo que quieres.
2) Estás preguntando cómo hacer que te muestre los registros
En PHP, cosa que es programación y por consecuencia OFF TOPIC en los foros de Bases de Datos (Leer las reglas del foro, por favor).
3) Finalmente, desde el punto de vista de MySQL, tienes un error de sintaxis, porque estás usando un signo reservado en el nombre de un campo. Ese campo "time-publish", por mas que puedas crearlo con ese nombre, no puede ser usado de ese modo, porque MySQL interpretará que es la resta entre dos columna, "time" y "publish", y al resultado intentará compararlo por si es mayor a 500.
En MySQL, para usar simbolos reservados o
palabras reservadas, esos nombres deben quedar encerrados entre acentos agudos (`):
El tema de
mostrar en PHP no corresponde a este foro.
Movido a PHP.