mysql分组查询语句怎么写,大家帮忙看下! 10
有表a,字段id,wz,pm,sj数据是idwzpmsj1a.com-12013-10-112b.com-12013-10-113c.com-12013-10-124a....
有表 a,字段id,wz,pm,sj
数据是
id wz pm sj
1 a.com -1 2013-10-11
2 b.com -1 2013-10-11
3 c.com -1 2013-10-12
4 a.com 2 2013-10-20
5 b.com 3 2013-10-21
6 c.com 5 2013-10-22
7 a.com 1 2013-10-29
8 b.com 3 2013-10-29
9 c.com 6 2013-11-02
要获得的数据是,每个wz字段最近一次查询的pm字段如果大于0,那么输出所有该wz字段在表中所有的记录!这个最近一次查询可以根据sj字段也可以根据id字段。
我自己写的一个mysql句子是可以实现上述要求,但是有两个in导致执行速度很慢,大家有没有更好的方法呢?非常感谢,我自己研究了半天了都不行!
mysql语句:"select * from bd where wz in(select wz from bd where pm>0 and id in(select max(id) from bd group by wz)" 展开
数据是
id wz pm sj
1 a.com -1 2013-10-11
2 b.com -1 2013-10-11
3 c.com -1 2013-10-12
4 a.com 2 2013-10-20
5 b.com 3 2013-10-21
6 c.com 5 2013-10-22
7 a.com 1 2013-10-29
8 b.com 3 2013-10-29
9 c.com 6 2013-11-02
要获得的数据是,每个wz字段最近一次查询的pm字段如果大于0,那么输出所有该wz字段在表中所有的记录!这个最近一次查询可以根据sj字段也可以根据id字段。
我自己写的一个mysql句子是可以实现上述要求,但是有两个in导致执行速度很慢,大家有没有更好的方法呢?非常感谢,我自己研究了半天了都不行!
mysql语句:"select * from bd where wz in(select wz from bd where pm>0 and id in(select max(id) from bd group by wz)" 展开
展开全部
您看是否满足您的需求:
select
t1.*
from
bd t1
where t1.id in (
select max(t2.id)
from bd t2
where t2.pm > 0
group by t2.wz
)
有问题,请追问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选择时(visittime)的时间,金额(大小写状态时,= 1,那么1,否则为0结束)状态1,
总和(案件时状态= 2,那么1,否则为0结束)状态2,
总和(案件时状态= 3,那么1,否则为0结束)STATE3
from表名where日期= 7(使用变量代替)
按小时(visittime)
组----
其中提取物(每天从visittime)= 7
总和(案件时状态= 2,那么1,否则为0结束)状态2,
总和(案件时状态= 3,那么1,否则为0结束)STATE3
from表名where日期= 7(使用变量代替)
按小时(visittime)
组----
其中提取物(每天从visittime)= 7
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
in 比较慢,
一个原因,你的wz是否有索引,
heyongsai 为正解
一个原因,你的wz是否有索引,
heyongsai 为正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询