对于下面的代码,我想看看是否有选择最高转速的方式。编号在PATTERN.VERSION
列中,然后仅显示低于该值的结果。SQL选择最大,然后显示值小于最大
在列显示的日期是这样的:
Version
--------
2012-03-12 rev. 035
2012-03-12 rev.035
2012-03-12 rev.017
在这种情况下,我想查询以选择rev.035的最大,然后只显示较低的值(转017)。 。我试图用MAX聚合和小于但不能得到正确结果的子查询。
SELECT DISTINCT "SEM_AGENT"."DELETED"
,"PATTERN"."VERSION"
,"PATTERN"."PATTERNDATE"
,"SEM_AGENT"."AGENT_VERSION"
,"SEM_CLIENT"."COMPUTER_NAME" "Computer Name"
, "SEM_COMPUTER"."OPERATION_SYSTEM" "Operation System"
,dateadd(s,convert(bigint,"SEM_AGENT"."CREATION_TIME")/1000,'01-01-1970 00:00:00') CREATION_DTTM
, dateadd(s,convert(bigint,"SEM_AGENT"."LAST_UPDATE_TIME")/1000,'01-01-1970 00:00:00') Lastupdatetime
, DATEADD(s, convert(bigint,LAST_SCAN_TIME)/1000, '01-01-1970 00:00:00')"Last Scan Time"
, "PATTERN"."PATTERNDATE" "Pattern Date"
, "SEM_CLIENT"."USER_NAME" "User Name"
, "V_SEM_COMPUTER"."IP_ADDR1_TEXT" "IP Address"
, "IDENTITY_MAP"."NAME" "Group Name"
FROM (((("SEM_AGENT" "SEM_AGENT" INNER JOIN "SEM_CLIENT" "SEM_CLIENT"
ON (("SEM_AGENT"."COMPUTER_ID"="SEM_CLIENT"."COMPUTER_ID")
AND ("SEM_AGENT"."DOMAIN_ID"="SEM_CLIENT"."DOMAIN_ID"))
AND ("SEM_AGENT"."GROUP_ID"="SEM_CLIENT"."GROUP_ID")) INNER JOIN "SEM_COMPUTER" "SEM_COMPUTER"
ON (("SEM_AGENT"."COMPUTER_ID"="SEM_COMPUTER"."COMPUTER_ID")
AND ("SEM_AGENT"."DOMAIN_ID"="SEM_COMPUTER"."DOMAIN_ID"))
AND ("SEM_AGENT"."DELETED"="SEM_COMPUTER"."DELETED")) INNER JOIN "PATTERN" "PATTERN"
ON "SEM_AGENT"."PATTERN_IDX"="PATTERN"."PATTERN_IDX") INNER JOIN "IDENTITY_MAP" "IDENTITY_MAP"
ON "SEM_CLIENT"."GROUP_ID"="IDENTITY_MAP"."ID") INNER JOIN "V_SEM_COMPUTER" "V_SEM_COMPUTER"
ON "SEM_COMPUTER"."COMPUTER_ID"="V_SEM_COMPUTER"."COMPUTER_ID"
AND "SEM_AGENT"."DELETED"=0
ORDER BY "Computer Name"
示例行
IP Address DELETED VERSION PATTERNDATE AGENT_VERSION Computer Name Operation System CREATION_DTTM Lastupdatetime Last Scan Time Pattern Date User Name Group Name ip_address device_type user_tag
16X.XX.XX.XX 0 2012-03-13 rev. 002 3/13/2012 12:00:00 AM 12.1.671.4971 MD-EISN-1206 Windows XP Professional 11/10/2011 8:25:46 PM 3/13/2012 7:49:25 PM 3/11/2012 1:00:05 PM 3/13/2012 12:00:00 AM ECOPYSCAN My Company\AHRQ\eCOPY-machines 16X.XX.XX.XX Desktop |fisma-mgmt|fisma-all|
16X.XX.XX.XX 0 2012-03-13 rev. 002 3/13/2012 12:00:00 AM 12.1.671.4971 HHS-46801948 Windows XP Professional 11/10/2011 8:25:46 PM 3/13/2012 7:49:25 PM 3/11/2012 12:00:02 PM 3/13/2012 12:00:00 AM EcopyIOD My Company\AHRQ\eCOPY-machines 16X.XX.XX.XX Desktop |workstations|network scanners|fisma-mgmt|desktops|fisma-all|
16X.XX.XX.XX 0 2012-03-13 rev. 002 3/13/2012 12:00:00 AM 12.1.671.4971 HHS-46801937 Windows XP Professional 11/10/2011 8:25:46 PM 3/13/2012 7:49:25 PM 3/11/2012 12:00:03 PM 3/13/2012 12:00:00 AM tim.erny My Company\AHRQ\eCOPY-machines 16X.XX.XX.XX Desktop |network scanners|fisma-mgmt|desktops|fisma-all|
什么版本的SQL? – 2012-03-13 19:24:06
我使用SQL Server 2008 – Ben 2012-03-13 19:29:38
如果__WHERE Pattern.Version <(选择最大(从图案版))__不能正常工作,那么你有一些分组我无法从你的查询得到。你能否显示这个查询返回的一些行? – 2012-03-13 19:43:32