У меня есть приведенный ниже SQL-запрос, который дает мне правильный вывод, но значения не отображаются правильно, когда они отображаются на веб-сайте, и мне нужно кое-как, как заставить его правильно. База данных работает на MS SQL 2008 R2, а серверный язык - PHP.
Запрос SQL:
SELECT a.username AS 'User Name'
, MAX(b.game_level) AS 'Level Reached'
, CAST(DATEADD(millisecond,SUM(DATEDIFF(millisecond,0,CAST(b.time_spent AS DATETIME))),0) AS TIME) AS 'Total Time Spent'
, AVG(CAST(b.stars AS FLOAT)) AS 'Stars'
, SUM(b.game_level_score) AS 'High Score'
, a.current_state AS 'Online State'
FROM game_users a
JOIN score b ON a.id = b.game_users_id
GROUP BY a.username, a.current_state
Чего бы я хотел достичь
1: Можно ли обрезать «Общее время нахождения», чтобы отображалось только ЧЧ: ММ: СС?
2: Можно ли заставить «Звезды» быть только 1 десятичной дробью (то есть отображается 3,5)? Когда он отображается из MS SQL PHP Generator, который я использую для публикации в Интернете, он отображается как 3.5000.
3: Также для «High Score», когда значение равно 3565, вместо этого оно отображается как 3565.0000, что неверно и должно отображаться так же, как 3565.
4: возможно ли создать счетчик, который устанавливает 1 на самый высокий ранг, 2 на следующий, 3 на третий и т. Д., Чтобы человек с наивысшим баллом получил ранг 1, отображаемый в первой строке?
Я знаю, что только «Общее время нахождения» имеет дополнительное форматирование, которое должно быть при запуске запроса в MS SQL Management Studio, но я спрашиваю о 2 и 3, если есть какой-то способ заставить веб-код правильно отображать его из запроса?
С наилучшими пожеланиями
Стиг: -)