回 帖 发 新 帖 刷新版面

主题:这回是问问题.

看个查询

select Guest_NickName,Guest_Photo,Guest_Area from MU_GuestInfo where Guest_ID in (24,23,24,25,25,1,1,1)

返回4列对吧.因为默认集合要去掉重复元组的.但我现在的问题是我不想去掉重复元组.即显示8行.怎么做

谢谢大家

回复列表 (共8个回复)

沙发

首先问下是什么数据库
这个查询返回的三列啊,怎么是四列?还是打错了,是四行?
in (24,23,24,25,25,1,1,1) 和in (24,23,25,1)是一样的。
这个应该不会不显示重复数据
希望能有个具体的数据表,描述清楚该问题~

板凳

打错了.是返回4行.现在我就是需要显示重复有办法么大家?

3 楼

我看了半天也没看出重复?

没有distinct,没有group by

??????????????????????????????

4 楼

我是说:
(24,23,24,25,25,1,1,1) 这个集合不是有重复么? = (24,23,25,1) 

关键是我想体现这种重复.再说 in 会对顺序进行排序的.我也不想排序.怎么办~ ? 谢谢~


5 楼

[em10][em10][em10][em10][em10][em10][em10][em10]
................................................
................................................
................................................
................................................
................................................

单独用Select语句是没戏了,写个T-SQL循环吧。
最好还是写成函数。

6 楼

这么失望么?

7 楼

关系数据库的基本要求:
不能存在重复的元组,即完全一样的行

你要获得重复的内容也可以,select的时候自己手动多加一列,生成随机内容
而IN是否要先运算简化,SQL标准里面好像没有强制要求,也就是说不同数据库可能有不同的处理方法

8 楼

还有什么做发??

我来回复

您尚未登录,请登录后再回复。点此登录或注册