您的位置:首页 > 数据库 > MySQL

mysql 复杂的查询语句,工作中用到的记录下

2014-06-13 12:41 295 查看
1 去重查询

select distinct id from user_info where xxxxxx

2 group by 分组查询中排序

group by本身没有排序功能,这可能是mysql不完美的地方,但是我们可以这样做

select attack_id, time from (select * from attack_log where (time+172800) < unix_timestamp(now()) order by time desc) attack_log group by attack_id

*注:先通过排序行成一个集合,然后再去改集合中去查,这样分组就实现了排序查询

3 查找符合要求的 前两个数据

select attack_id,time from attack_log a where (select count(*) from attack_log where attack_id = a.attack_id and time > a.time) <2

*注:where 后面 其实是一个bool值。通过bool值来过滤 符合要求的数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: