Я бы рекомендовал написать этот запрос следующим образом:
SELECT CONCAT(first_name, ' ', last_name) as fullname,
ROUND(AVG(r.correct), 2) as avg_correct,
DATE_FORMAT(MAX(r.time_taken), '%d-%m-%Y') as time_taken
FROM user u LEFT JOIN
test_result r
ON u.user_id = r.user_id
GROUP BY u.user_id, full_name
ORDER BY MAX(r.time_taken) DESC;
Примечания:
FROM
не помогает запросу. Это может помешать оптимизатору. GROUP BY
столбцов из второй таблицы в LEFT JOIN
(если вы действительно не знаете, что делаете). Значение будет NULL
для несоответствий. GROUP BY
. ORDER BY
работал, как вы предполагаете, он должен иметь значение до форматирования , а не после форматирования. Формат %d-%m-%Y
не упорядочен по времени. Существует инструмент под названием Айовец, который делает точно, что Вы просите. Вот эти две статьи, которые я написал об этом.
Шпион ++ о самом близком, которое Вы собираетесь получать..., но это для универсального Windows, не.NET sepcifically.
Я действительно находил эту статью о MSDN Magazine о ManagedSpy
Браузер имеет модель DOM, без этого я не думаю, что это возможно. Не думая слишком много об этом, я не знаю, как такая вещь смогла бы включить к приложению намного меньше обзора иерархия управления.
Возможно, придется прокрутить его самостоятельно. Не должно быть слишком твердым, если Вы оставляете надлежащие рычаги.