只看楼主 楼主

求个mysql的查询语句

有如下数据,我想查询  张三所回复的主题 也就是查后结果 是id1这条数据
 id title fid username
 1 测试 0 小明
 2 回复id1 1 张三
 3  回复id1 1 张三
以下是我的代码:

$sql=mysql_query("select id,title from test where id in (select fid from test where username='张三')")

可是发现速度很慢 不知道为什么 请大虾指点!
CHINAZ官方广告

 TOP

只看该用户 沙发

Re:求个mysql的查询语句

顶!!1

 TOP

只看该用户 板凳

Re:求个mysql的查询语句

如果张三还回复了另一条主题,怎么办呢?

 TOP

只看该用户 地板

Re:求个mysql的查询语句

我就是要列出张三所回复的全部主题啊 现在是列出来了 就是速度有点慢 想请教大虾怎么弄比较合适

 TOP

只看该用户 #4

Re:求个mysql的查询语句

速度慢应该是服务器的问题吧? 非要找原因我猜会不会是子查询的问题,mysql对子查询的支持是5。0才支持的吧。 会不会支持得不太好 

试试用联表查询
select distinct ori.id,ori.title from test as ori left outer join test as rep on ori.id=rep.fid where rep.username = '张三'
hcmatthew的签名
奇点在线--7Dit.com

学会忘记也是一种幸福

 TOP

只看该用户 #5

Re:求个mysql的查询语句

帮你顶起。。。。
parksungho的签名
服务器 租用 托管  空间中原最大的IDC服务商 QQ:6423395

 TOP

只看该用户 #6

Re:求个mysql的查询语句

select id,title from test where id in (select fid from test where username='张三')

你的id in.........是什么用途?
如果没有特殊用途就直接 select id,title from test where username='张三'

如果数据量大分几次取看看怎么样,limit x,y

 TOP

只看该用户 #7

Re:求个mysql的查询语句

俺不会. 不过应该和ASP的写法差不多吧!
jurae的签名
中国机票联盟http://www.tuc365.com免费代理加盟出售:30cy.cn ^^^51my.cn^^^libayuan.com.cn^^^zhumu.net^^^5888.zj.cn^^^tao-bei.cn^^^ougee.com.cn^^^等等!

2G空间100元

 TOP

只看该用户 #8

Re:求个mysql的查询语句

子查询的速度当然不快
xinbi的签名

 TOP

只看该用户 #9

Re:求个mysql的查询语句

不好这样写。
wxj_16740的签名

 TOP