2016-02-12 5 views
0

Это мой первый вопрос здесь, не мог найти никакой идеи о том, как его решить.Создание представления только с максимальными значениями столбца

У меня есть таблица MySQL, который выглядит следующим образом:

ID|uuid |Value  |World 
#1|1  |10   |World1 
#2|2  |11   |World1 
#3|1  |9   |World2 
#4|3  |13   |World2 

Есть два из них. Один для входа и один для выхода из системы. Значение представляет время -> оригинал, сохраненный в UNIX.

Я не могу изменить таблицы, поэтому мне нужно работать с этим макетом.

Вопрос в том, как я могу создать представление, которое дает мне только последнее время входа/выхода для каждого игрока?

В примере, который он должен дать мне для Игрока 1 только 10 часов.

Я использовал это одно:

select `lj`.`uuid` AS `uuid`,`lj`.`value` AS `ljValue`,`ls`.`value` 
AS `lsValue`,`sp`.`name` AS `name` 
from ((`Stats3_last_join` `lj` 
left join `Stats3_last_seen` `ls` 
on((`lj`.`uuid` = `ls`.`uuid`))) 
left join `Stats3_players` `sp` 
on((`lj`.`uuid` = `sp`.`uuid`))) 

Но я получаю несколько записей для каждого игрока. Мне нужно что-то вроде DISTINCT с условием.

+0

Возможный дубликат [MySQL: Получить самую последнюю запись] (http://stackoverflow.com/questions/8523374/mysql-get-most-recent-record) – xQbert

ответ

0

Один из способов заключается в использовании встроенного представления для создания подмножества данных, которое состоит из максимального значения для каждого игрока, затем присоединяется к базовому набору, чтобы получить дополнительные значения, если это необходимо.

SELECT AR.* 
FROM stats3_last_join AR 
INNER JOIN (SELECt max(value) mv, uuid 
      FROM stats3_last_Join 
      GROUP BY uuid) MaxOnly 
on MaxOnly.mv= AR.Value 
and MaxOnly.uuid = AR.Uuid 

В этом случае мы возвращаем максимальное значение для каждого uuid в stats3_lastJoin. затем присоедините его к себе на основе этого максимального значения и uuid, чтобы ограничить результаты только максимальным значением.

+0

Спасибо! Мне пришлось создать два новых представления вместо использования встроенного выбора, потому что представления не принимают их каким-то образом. Но теперь он работает :) – monjo44

Смежные вопросы