单表比较复杂的查询 高分求SQL

datenamesomething9.18y........9.18y........9.19x........…………10.20x......10.21x......1... date name something
9.18 y ........
9.18 y ........
9.19 x ........
…………
10.20 x ......
10.21 x ......
10.21 x ......
10.22 y .......
10.22 x .......
10.22 x .......
10.22 z .......
10.20 y ......
怎么筛出从9.18号到10.22号每天都有数据的人 的所有数据
比如这里 x是从9.18-10.22号每天都有数据 所以要一条条返回这些内容(date name something)
表的主键没有在这里列出来
去掉不是每天都有数据的人
access里面 count(distinct name) 不能用

to hb412569475:
为什么这个在测试数据表里面可以用 但是在实际的数据库里面就不行了呢?
实际有以下几列:
name submit_time(就是问题中的date列 数据形如 2010/10/20 15:14:23) content city province
查完的结果是把所有的数据都拿出来了。。

to 371906039:
哥们你这效率好像有点低。。。3000行数据就要等10秒。。。而且在测试数据下查询到的结果就有错了 全都拿出来了
展开
 我来答
百度网友07f2face2
2010-10-23 · TA获得超过283个赞
知道小有建树答主
回答量:382
采纳率:50%
帮助的人:139万
展开全部
select * from 表 a,(
select count(1),name from (select distinct name,date from 表where 两者之间的时间) b group by name having count(1)=(日期差值))
where a.name=b.name
搞定

不太懂你的说明,我QQ就是我名字,QQ上说吧
brians12
2010-10-22
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
select * from 表名 where date>='9.18' and date<='10.22' and name='x'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
371906039
2010-10-22 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:87.8万
展开全部
select 表名.*
from (
select a.date,b.name
from (select distinct date from 表名 where date>='9.18' and date<='10.22') a,
(select distinct name from 表名 where date>='9.18' and date<='10.22') b
) t left join 表名 on t.date=表名.date and t.name=表名.name
where 表名.somthing is not null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式