数据库多条件查询

kk508 2012-09-14 10:28:12
求高手指导:如何多次查询?比如
时间 人员
20120910 a
20120910 b
20120910 c
20120911 b
20120911 c
20120911 d
20120912 b
20120912 c
20120912 d

这个是数据库表结构,为时间和人员,现需要统计3天内有记录人员,以及2天内有记录人员,以及只有1天记录的人员:
结果应该是
3天内都有记录的: b、c 2
只在第一天有记录的,其他2天无记录的: a 1
只在2-3天有记录的,第一天没有记录的: d 1

这样一个结果,请问高手如何查询?
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kk508 2012-09-14
  • 打赏
  • 举报
回复
谢谢了。我自己消化下先。
wwwwb 2012-09-14
  • 打赏
  • 举报
回复
不能
3天内都有记录的:

sELECT * FROM ttl4 a WHERE EXISTS(SELECT 1 FROM ttl4 WHERE a.`时间`+2=`时间`+0 AND a.`人员`=`人员`
)
AND EXISTS(SELECT 1 FROM ttl4 WHERE a.`时间`+1=`时间`+0 AND a.`人员`=`人员`);

结果:b c


只在第一天有记录的,其他2天无记录的:

SELECT * FROM ttl4 a WHERE NOT EXISTS(SELECT 1 FROM ttl4 WHERE a.`时间`+2=`时间`+0 AND a.`人员`=`人员`
)

AND NOT EXISTS(SELECT 1 FROM ttl4 WHERE a.`时间`+1=`时间`+0 AND a.`人员`=`人员` AND a.`时间`<`时间`


)
AND a.`时间`<>(SELECT MAX(`时间`) FROM ttl4)

结果:a

只在2-3天有记录的,第一天没有记录的:
SELECT * FROM ttl4 a WHERE

NOT EXISTS(SELECT 1 FROM ttl4 WHERE a.`时间`+0=`时间`+2 AND a.`人员`=`人员`)
AND NOT EXISTS(SELECT 1 FROM ttl4 WHERE a.`时间`+0=`时间`+1 AND a.`人员`=`人员` )
AND

a.`时间`<>(SELECT MIN(`时间`) FROM ttl4)


结果:d
kk508 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
select 人员
from tt group by 人员
having count(distinct 时间)=3
union all
select 人员
from tt group by 人员
having count(distinct 时间)=2
union all
select 人员
from tt group by 人员
having count(distinct 时间……
[/Quote]

请问下这个时间可以随意组合吗?比如1、2,1、3,2、3这样随意组合。
kk508 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
SQL code

select 人员
from tb
group by 人员
having count(*)=3
[/Quote]

先谢谢了,不过这个貌似没有办法统计(在第1、2天有记录、第3天没有记录)这是一个统计条件,或者(在2、3天有记录,第1天没有记录)的统计数量,或者(在1、3天有记录,而第2天没有记录的)这些查询统计都是时间相关。。。或者是我没明天具体操作方法, 还请您明示。
wwwwb 2012-09-14
  • 打赏
  • 举报
回复
select 人员
from tt group by 人员
having count(distinct 时间)=3
union all
select 人员
from tt group by 人员
having count(distinct 时间)=2
union all
select 人员
from tt group by 人员
having count(distinct 时间)=1
rucypli 2012-09-14
  • 打赏
  • 举报
回复
select 人员
from tb
group by 人员
having count(*)=3

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧