나는 다음 표DISTINCT를 사용해야합니까?
CREATE TABLE `Operadores` (
`Num` int(11) NOT NULL AUTO_INCREMENT,
`Usuario` varchar(45) NOT NULL,
`Password` varchar(15) NOT NULL,
`LastLogin` varchar(25) DEFAULT '01/01/1970 00:00:00',
`AdminLevel` int(10) unsigned DEFAULT '1',
`Grupo` varchar(20) NOT NULL DEFAULT 'Operadores',
`Version` varchar(20) DEFAULT 'OLD',
`NombrePC` varchar(20) DEFAULT NULL,
`LastIP` varchar(16) DEFAULT '0.0.0.0',
PRIMARY KEY (`Num`,`Usuario`),
UNIQUE KEY `Num_UNIQUE` (`Num`),
UNIQUE KEY `Usuario_UNIQUE` (`Usuario`)
) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=l
버전은 1.5.4.3로 저장됩니다 자사의 버전 및 IP를보고 프로그램을 가지고, 나는 점 사이의 하나 개의 숫자를 사용; 너무 큰 숫자는 더 큰 버전을 의미합니다.
각 IP의 더 큰 버전을 알기 위해 MySQL Workbench에서 쿼리를 작성해야합니다.
예 : 마지막 버전은 1.6.0.2이며, 나는 커크 그 PC 10.0.1.3에 볼 수 있습니다
Usuario Version LastIP
Mike 1.6.0.1 10.0.1.1
Eric 1.6.0.2 10.0.1.1
Adam 1.1.0.1 10.0.1.2
Clark 1.6.0.2 10.0.1.2
Kirk 1.6.0.0 10.0.1.3
나는 이제
Usuario Version LastIP
Eric 1.6.0.2 10.0.1.1
Clark 1.6.0.2 10.0.1.2
Kirk 1.6.0.0 10.0.1.3
을 받아야 다음과 같은 데이터가있는 경우 는 이전 버전의 소프트웨어를 사용하고 있습니다.
이미
SELECT * FROM gts.Operadores GROUP BY VersionGTS,LastIP ORDER BY LastLogin DESC;
과 노력하지만 모든 레코드가 하나 개의 행을 얻을, 난 그냥 각 IP에 대한 하나 개의 결과 (최대 버전)합니다.
SELECT 최대 (버전), lasIP t 그룹에서 lasIP LastLogin' BY – Mihai