Поток на MSDN Social, Re: Named Pipes Provider, ошибка: 40 - Не удалось открыть соединение с SQL Server , имеет довольно приличный список возможных проблем которые связаны с вашей ошибкой. Возможно, вам захочется узнать, может ли кто-нибудь из вас быть тем, что вы испытываете.
Из приведенных выше комментариев ясно, что общий балл и среднее время, затрачиваемое обратно пропорционально. То есть соотношение total_score и average_time_taken должно дать нам некоторое значение, которое мы теперь будем использовать для позиционирования или упорядочения наших записей. Следовательно, сначала я бы ввел в таблицу еще один столбец и рассчитал соотношение. Предполагая, что мы вызываем столбец ratio_average
, чтобы получить значения для нашего столбца, просто возьмите total_score / average_time_taken
, поэтому теперь при получении наших результатов из таблицы нам нужно будет только сделать следующее:
TotalScore::orderBy('ratio_average', 'desc')->get();
Выше теперь даст вам результаты в правильном порядке позиций с первой позиции
Вот как будет выглядеть MySQL-запрос:
SELECT
(
SELECT COUNT(*)
FROM TableScore X
WHERE X.ts > T.ts OR (X.ts = T.ts AND X.avg_times_taken < T.avg_times_taken)
) + 1 AS position
FROM TableScore T
WHERE T.user_id = '7';