SQL语句,限制表中某项相同参数的显示条数

来源:百度知道 编辑:UC知道 时间:2024/06/05 13:31:39
表内容如下:
字段1,字段2
abc , 001
wtq , 001
jaq , 001
xva , 002
lko , 002
cru , 003
wer , 003
utd , 003

要求 字段2 相同编号最多显示两条,查询结果如下:
字段1,字段2
abc , 001
wtq , 001
xva , 002
lko , 002
cru , 003
wer , 003
另,本人使用ACCESS数据库

WHITE_WIN的语句可以用了,非常感谢;但本人使用的是双表查询,那么双表时select * from tablename b where,这里应该怎么写?已知:select * from table1,table2 b where是不行的

现在更改了问题SQL条件:
有“表1:data1”和“表2:data2”,需要联合查询,

表一 data1内容如下:
field1,field2
abc , 001
wtq , 001
jaq , 001
xva , 002
lko , 002
cru , 003
wer , 003
utd , 003
xqx , 004

表二 data2内容如下:
id,field2
1 , 001
2 , 002
3 , 003
4 , 004

要求表data1中相同field2编号最多显示两条,查询结果应如下:
field1,field2
abc , 001
wtq , 001
xva , 002
lko , 002
cru , 003
wer , 003
xqx , 004

其中表data1的field2与 表data2的field2是指相同的账号(条件可以写成:data1

select * from tablename b where
(select count(1) from tablename a where a.字段1<=b.字段1 and a.字段2=b.字段2)>2
SQL SERVER肯定行,但ACCESS可以试试。
双表用(SELECT * FROM TABLE1,TABLE2 WHERE TABLE1.ID=TABLE2.ID) 替换所有tablename就行了。

select top 2 * from

在SQL语句中要实现这个功能 我现在确实还不知道
但是要我这样做的话 我会在获取了数据集后
对数据集显示的时候再进行一次筛选

当出现一个字段的某一个新值的时 产生一个标记变量
再出现一次这个值 标记变量加1 而这个数最多能加到几 就你自己设置了
懂我意思吧 别的暂时也想不到更好的办法
看看楼下有无更好的办法 共同学习!!

只能存储过程,楼上的,你说的什么自然排序是不大可能的,因为他是按照字段2排序,要求相同的字段2只出现两个,top和自增长都是不可能解决问题的。