表“报警记录”中有下面几个组
报警ID 报警名称 报警时间 报警状态 操作员
1 AAA 2010-1-1 12:12:32 OK 123
2 BBB 2010-1-1 20:12:22 ERR 123
3 CCC 2010-1-2 12:12:32 OK 123
4 DDD 2010-1-2 20:12:22 ERR 123
5 AAA 2010-1-3 12:12:32 OK 123
6 BBB 2010-1-3 13:12:22 ERR 123
7 CCC 2010-1-3 14:12:32 OK 123
8 DDD 2010-1-3 20:12:22 ERR 123
9 AAA 2010-1-1 12:12:32 OK 123
10 BBB 2010-1-1 20:12:22 ERR 567
11 CCC 2010-1-2 12:12:32 OK 567
12 DDD 2010-1-2 20:12:22 ERR 567
13 AAA 2010-1-4 12:12:32 OK 567
14 GGG 2010-1-4 13:12:22 ERR 567
15 CCC 2010-1-4 14:12:32 OK 567
16 KKK 2010-1-4 20:12:22 ERR 567
17 CCC 2010-2-3 14:12:32 OK 123
18 DDD 2010-2-3 20:12:22 ERR 123
19 AAA 2010-2-8 12:12:32 OK 567
20 BBB 2010-2-9 20:12:22 ERR 567
21 CCC 2010-2-12 12:12:32 ERR 567
22 DDD 2010-2-12 20:12:22 ERR 123
23 LLL 2010-3-4 12:12:32 OK 123
24 BBB 2010-3-4 13:12:22 ERR 123
25 CCC 2010-3-4 14:12:32 OK 123
26 FFF 2010-3-4 20:12:22 ERR 567
问题1现在要选出“报警状态”的最后一次记录是ERR的内容,并以“报警ID”降序排例,且“报警名称”中不重复的项目,应该怎么写SQL语句?
问题2选出“操作员”内容是“123”或是“567”的上述内容问题1的正确结果是:
26 FFF 2010-3-4 20:12:22 ERR 123
24 BBB 2010-3-4 13:12:22 ERR 123
22 DDD 2010-2-12 20:12:22 ERR 123
16 KKK 2010-1-4 20:12:22 ERR 567
14 GGG 2010-1-4 13:12:22 ERR 567
问题2的正确结果是:
24 BBB 2010-3-4 13:12:22 ERR 123
22 DDD 2010-2-12 20:12:22 ERR 123
和:
26 FFF 2010-3-4 20:12:22 ERR 567
16 KKK 2010-1-4 20:12:22 ERR 567
14 GGG 2010-1-4 13:12:22 ERR 567
最好能经过验证。给出SQL语句的代码。谢谢
报警ID 报警名称 报警时间 报警状态 操作员
1 AAA 2010-1-1 12:12:32 OK 123
2 BBB 2010-1-1 20:12:22 ERR 123
3 CCC 2010-1-2 12:12:32 OK 123
4 DDD 2010-1-2 20:12:22 ERR 123
5 AAA 2010-1-3 12:12:32 OK 123
6 BBB 2010-1-3 13:12:22 ERR 123
7 CCC 2010-1-3 14:12:32 OK 123
8 DDD 2010-1-3 20:12:22 ERR 123
9 AAA 2010-1-1 12:12:32 OK 123
10 BBB 2010-1-1 20:12:22 ERR 567
11 CCC 2010-1-2 12:12:32 OK 567
12 DDD 2010-1-2 20:12:22 ERR 567
13 AAA 2010-1-4 12:12:32 OK 567
14 GGG 2010-1-4 13:12:22 ERR 567
15 CCC 2010-1-4 14:12:32 OK 567
16 KKK 2010-1-4 20:12:22 ERR 567
17 CCC 2010-2-3 14:12:32 OK 123
18 DDD 2010-2-3 20:12:22 ERR 123
19 AAA 2010-2-8 12:12:32 OK 567
20 BBB 2010-2-9 20:12:22 ERR 567
21 CCC 2010-2-12 12:12:32 ERR 567
22 DDD 2010-2-12 20:12:22 ERR 123
23 LLL 2010-3-4 12:12:32 OK 123
24 BBB 2010-3-4 13:12:22 ERR 123
25 CCC 2010-3-4 14:12:32 OK 123
26 FFF 2010-3-4 20:12:22 ERR 567
问题1现在要选出“报警状态”的最后一次记录是ERR的内容,并以“报警ID”降序排例,且“报警名称”中不重复的项目,应该怎么写SQL语句?
问题2选出“操作员”内容是“123”或是“567”的上述内容问题1的正确结果是:
26 FFF 2010-3-4 20:12:22 ERR 123
24 BBB 2010-3-4 13:12:22 ERR 123
22 DDD 2010-2-12 20:12:22 ERR 123
16 KKK 2010-1-4 20:12:22 ERR 567
14 GGG 2010-1-4 13:12:22 ERR 567
问题2的正确结果是:
24 BBB 2010-3-4 13:12:22 ERR 123
22 DDD 2010-2-12 20:12:22 ERR 123
和:
26 FFF 2010-3-4 20:12:22 ERR 567
16 KKK 2010-1-4 20:12:22 ERR 567
14 GGG 2010-1-4 13:12:22 ERR 567
最好能经过验证。给出SQL语句的代码。谢谢
select 报警ID,报警名称,MAX(报警时间) as 最近时间,报警状态,操作员 from 报警记录 where 报警状态='ERR' group by 报警名称 问题2
select * from 报警记录 where 操作员='123' or 操作员='567'
问题1 补充一下..
select 报警ID,报警名称,MAX(报警时间) as 最近时间,报警状态,操作员 from 报警记录 where 报警状态='ERR' group by 报警名称 order by 报警ID Desc