wangxdsharing 2008-09-09 13:12
浏览 177
已采纳

求mysql中满足如下需求的一句sql

假设有一个表picture(id,address_id,name),其中一个address_id可关联多个picture.
问题:
假设有一批address_id,如何写一句sql根据这一批address_id在picture表中取出与之关联的记录,保证每一个address_id只能取出与之关联的2条记录.

我想到的关键字是in 和limit,但是如何写出满足此需求的sql,还请各位赐教。
[b]问题补充:[/b]
select * from picture where address_id in(
select address_id from picture
where address_id in(一批address_id)
group by address_id
having count(*)=2
)

这个是有问题的,只能得到两条记录
[b]问题补充:[/b]
"不是只取每个address_id关联的两条记录吗?这样从picture表取出来的每个address_id都有两条记录了呀!能不能再说明一下"

主要是这个子句有问题:select address_id from picture
where address_id in(一批address_id)
group by address_id
having count(*)=2 , 这里表示只能取出address_id个数等于两个的记录。 需求是不管有多少条记录,取出前两条。

[b]问题补充:[/b]
to 81261686 (中级程序员):
不好意思,可能我前面需求表达得不清楚

  • 写回答

4条回答 默认 最新

  • iteye_2718 2008-09-13 17:47
    关注

    看来也是没办法滴,不行的话就一个个address_id来查了,只要在同一个链接里对数据库也不会太损.非要做的话,可以考虑用mysql的存储过程.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划