我现在要做这样一个查询
2张表:A,B,A表有字段id,name,B表有id,cid,content,uptime,其中A.id=B.cid,
现要查询A表的name对应B表的前3个connect,按照B表的uptime倒序排列
Select * from a t1
Inner join b t2 on t1.id=t2.cid and t2.content in (select top 3 b.content from b where b.cid=t1.id order by uptime desc)但是提示This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
但我用的也是mysql5.0的网上查了下原因,也说是in里面不能有limit
2张表:A,B,A表有字段id,name,B表有id,cid,content,uptime,其中A.id=B.cid,
现要查询A表的name对应B表的前3个connect,按照B表的uptime倒序排列
Select * from a t1
Inner join b t2 on t1.id=t2.cid and t2.content in (select top 3 b.content from b where b.cid=t1.id order by uptime desc)但是提示This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
但我用的也是mysql5.0的网上查了下原因,也说是in里面不能有limit
解决方案 »
- mysql的问题u
- 一张表可以有多少列BLOB字段
- mysql数据库存储位置转移发生的奇怪问题。请教各位!
- 在xp上安装mysql最后一步失败!
- 建立 AUTO_INCREMENT字段,但是不然它是主键是否有办法?
- mysql的数据表有10W个记录,我该怎么样来把全部数据导出来呢?
- 简单问题,能否Update PRIMARY KEY 字段 的值
- 这个哪里不对,请教
- 安装phpmyadmin以后,提示 PHP MySQL 库版本 5.1.59 和你的 MySQL 服务器版本 5.5.38 不同
- 关于多表查询,遇到困难了
- mysql 频繁插入会不会崩溃
- 如何写.bat文件,连接PostgreSQl,执行SQL文件.
from a t1 Inner join b t2 on t1.id=t2.cid
order by t2.uptime desc limit 3
我要的效果是:
A表里会有N个name,每个name对应B表里N条数据
如果有10个name,那么每个name对应B表里3条数据,总共就是30条
我要的效果是:
A表里会有N个name,每个name对应B表里N条数据
如果有10个name,那么每个name对应B表里3条数据,总共就是30条
from a t1 Inner join b t2 on t1.id=t2.cid
where 3>(select count(1) from b where cid =t2.cid and uptime>t2.uptime)
还有点小问题,就是要进行两次排序,首先按照a.id进行排序,然后按照b.uptime进行排序,
请问,加在什么地方比较合适?
from a t1 Inner join b t2 on t1.id=t2.cid
where 3>(select count(1) from b where cid =t2.cid and uptime>t2.uptime)
order by a.id,b.uptime desc