首页 > 试题广场 >

假设下面是某公司员工在各个项目中花费的时间表,现在PM要找出

[单选题]
假设下面是某公司员工在各个项目中花费的时间表,现在PM要找出所有参与2个及2个以上花费时间不小于90天的项目的员工,并且按照总参与时间的降序排列出来,那么下面正确的SQL语句是:
info表结构:
Field
Type
Null
Key
Default
Extra
id
int(11)
NO
PRI
NULL
auto_increment
person_id
int(11)
YES

NULL

project
varchar(255) YES

NULL
day
int(11)
YES

NULL
info表示例数据:
id
person_id
project
day
1 1 T1 90
2 2 T3 21
3 1 T6 33
4 3 T4 14
5 1 T2 12
6 4 T2 48
7 2 T5 62
8 4 T6 19
9 3 T2 206
10 5 T1 183
11 2 T4 38
12 5 T3 91
  • select person_id,sum(day) from info where day >=90 group by person_id having count(*) >= 2 order by sum(day) desc;
  • select person_id,sum(day) from info where day >=90 group by person_id having count(*) >= 1 order by sum(day) desc;
  • select person_id,sum(day) from info where day >=90 group by person_id having sum(day) >= 180 order by sum(day) desc;
  • select  person_id,sum(day) from info where person_id in (select distinct(person_id) from info where day >= 90)  group by person_id having count(*) >= 2 order by sum(day) desc;
A,
B选项的count计数不对,C选项只判断了总时长大于180,不确定是否项目数量大于等于2,D选项只能保证有大于90D的项目并且总项目数大于等于2,但不确定都大于90D
发表于 2026-03-31 17:21:58 回复(0)