我有一个问题:
SELECT ti.*
FROM New_OTPMS.TBL_TESTER_ONLINE_INFO ti
INNER JOIN TBL_TESTER_LIST tl
ON ti.tester_name = tl.tester_name
WHERE ti.board_name = 'DC30'
AND tl.tester_type = 'UFLEX'
ORDER BY ti.tester_name
在我正在选择的表格TBL_TESTER_ONLINE_INFO
中,有一个名为last_checked
的列,它保存了记录的时间戳。时间戳都不同。
但是在此表中有一列可以包含重复的记录tester_name
。所以我可以test1
和test1
,但两者都有不同的时间戳。
示例:
tester_name last_checked
test1 2015-07-30 03:56:51
test1 2015-07-31 05:56:38
test2 2015-07-31 10:10:36
test2 2015-07-31 02:27:12
我想获得最新的时间戳。所以我想得到的输出示例是
tester_name last_checked
test1 2015-07-31 05:56:38
test2 2015-07-31 02:27:12
我不确定如何修改我正在使用的查询,我尝试group by last_checked
但显然这是错误的方式。我已经看到了使用内连接的其他答案
SELECT ti.*
FROM New_OTPMS.TBL_TESTER_ONLINE_INFO ti
INNER join
(
SELECT id, max(last_checked) as mts
FROM New_OTPMS.TBL_TESTER_ONLINE_INFO
GROUP BY id
) s2 on s2.id = ti.id and ti.last_checked = s2.mts
INNER JOIN TBL_TESTER_LIST tl
ON ti.tester_name = tl.tester_name
WHERE ti.board_name = 'DC30'
AND tl.tester_type = 'UFLEX'
ORDER BY ti.tester_name
但它返回与未修改查询相同的行(带有重复项)。
任何帮助?
P.S。当然,表格中有更多列,但插图只是为了在这个问题中显示一个简单的例子。
编辑:TBL_TESTER_ONLINE_CONFIG样本数据
id tester_name frame board_name config part_no, serial_no, license_count, legal_enabling last_checked log_name
'105318' 'UFLEX-02' 'LICENSE_ENABLERS' 'DC30' '1' ' ' ' ' 'N/A' '1,0' '2015-07-30 00:35:15' 'IGXLEventLog.7.30.2015.00.34.21.000.log'
'105048' 'UFLEX-02', 'LICENSE_ENABLERS' 'DC30' '1' ' ' ' ' 'N/A' '1,0' '2015-07-29 15:31:42' 'IGXLEventLog.7.29.2015.15.30.46.344.log'
'109709' 'UFLEX-05', 'LICENSE_ENABLERS' 'DC30' '1' ' ' ' ' 'N/A' '1,0' '2015-07-30 05:10:16' 'IGXLEventLog.7.30.2015.05.09.45.515.log'
'108802' 'UFLEX-05', 'LICENSE_ENABLERS' 'DC30' '1' ' ' ' ' 'N/A' '1,0' '2015-07-30 01:34:08' 'IGXLEventLog.7.30.2015.01.33.36.891.log'
忽略除tester_name
列和last_checked
列之外的所有标记。只是想确保我只获得一个测试者名称。我正在为Web应用程序(在PHP中)执行此操作以获取特定测试人员,如果该信息有帮助。
答案 0 :(得分:0)
您可以直接使用Group C
- Invoice("cd", 07-02-2015)
- Invoice("car", 06-08-2015)
Group A
- Invoice("cd", 06-24-2015)
- Invoice("car", 06-01-2015)
Group B
- Invoice("cd", 04-21-2015)
- Invoice("car", 06-17-2015)
功能检查最新时间戳并使用max(last_checked)
,这样它就会为您提供不同的价值。请尝试以下查询:
GROUP BY tester_name
我只添加了两个字段,您可以根据需要添加。