从access中随机取出满足一定条件的记录

Will. Liu 2009-05-30 02:52:08
简单地说我的数据库表的结构是:
id varchar(20)
course varchar(20)
................

其中:id字段由五个四位一组的十进制字符组成,格式比如:
[1 ][2 ][3 ][4 ][ 5 ] [1 ][2 ][3 ][4 ][ 5 ]
00010001000100010001~~~~00010001000100019999
………………………………………………………………
00010001000100020001~~~~00010001000199999999
………………………………………………………………
直到 99999999999999999999
但是其中可能有一些串是没有的。
我是想实现从数据库中取出满足条件比如:[3]段为0106且[5]段为0325的随机得到的3条记录。
但是我不知道如何用access里面的sql语句来表达。希望哪位帮我解答一下。我想只用sql语句是应该有办法的。
...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xubogang 2009-08-14
  • 打赏
  • 举报
回复
飘过
Will. Liu 2009-05-30
  • 打赏
  • 举报
回复
哦 是的,谢谢了,结贴!:-)
ACMAIN_CHM 2009-05-30
  • 打赏
  • 举报
回复

[Quote]如果我想动态的改变比如mid(id,9,4)要求的值,[/Quote]

String sSQL = "select top 3 * from yourTable where mid(id," + 9 + ",4)='0106' and mid(id,17,4)='0325' order by rnd()";


在你的程序中利用代码直接生成SQL语句就行了。
Will. Liu 2009-05-30
  • 打赏
  • 举报
回复
谢谢,我想你的方法应该能解决我的问题,我现在的环境中没有access,
我还想问一下,如果我想动态的改变比如mid(id,9,4)要求的值,
也就是让他与一个变化的串相比的话,应该再加上写什么sql语句,
好像还有什么&,@之类的符号来标识变量。关键是怎么在程序中为变量传值。
这方面我不太懂,:-),希望赐教……
ACMAIN_CHM 2009-05-30
  • 打赏
  • 举报
回复

能否上传提供一个测试用的mdb文件,这样比较方便。

你可以上传到 http://www.access911.net/csdn

你可以试一下这个SQL语句,

select top 3 *
from yourTable
where mid(id,9,4)='0106' and mid(id,17,4)='0325'
order by rnd()


7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧