How would I best convert 90060 (seconds) to a string of "25h 1m"?

Currently I'm doing this in SQL:

```
SELECT 
  IF(
    HOUR(
      sec_to_time(
        sum(time_to_sec(task_records.time_spent))
      )
    ) > 0, 
    CONCAT(
      HOUR(sec_to_time(sum(time_to_sec(task_records.time_spent)))), 
      'h ', 
      MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
      'm'
    ), 
    CONCAT(
      MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
      'm'
    )
  ) as time
FROM myTable;

```

But I'm not sure it's the most convenient method :-)

I'm open to suggestions on doing this both in SQL (differently than I'm already doing) or in PHP.

EDIT:

Examples of desired strings: "5m", "40m", "1h 35m", "45h" "46h 12m".