国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

一個(gè)有關(guān)DISTINCT的問(wèn)題解答

2024-07-21 02:10:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
經(jīng)常會(huì)有朋友問(wèn)到類似于這樣的問(wèn)題,
表中的數(shù)據(jù)如下
id   aa   bb    
1    123   456
1    4535 54
1    60     6564
1    60     656
2    50     664
2    60     6
3    89     89
4    40     4242
希望得到的結(jié)果是
id   aa   bb
1    123   456
2    50     664
3    89     89
4    40     4242
當(dāng)然了,環(huán)境是sql server
解答及分析如下:
1, 不少朋友希望用distinct就解決問(wèn)題,但不可能,disctinct將重復(fù)的記錄忽略,
但它忽略的是完全一致的重復(fù)記錄,而不是其中某個(gè)字段重復(fù)的記錄,所以也只有
這樣的語(yǔ)法
select distinct id,aa,bb from tname
其它諸如select distinct(id),aa,bb from tname 或
select id,distinct aa,bb的寫(xiě)法都是無(wú)效的
2, 使用group by和聚合函數(shù)
select id,max(aa) as aa,max(bb) as bb from tname group by id
可以得到如下結(jié)果
id   aa   bb
1    4535 6564
2    60   664
3    89   89
4    40   4242
id是唯一了,但不一定后面的字段是同一條記錄的
3, 使用臨時(shí)表
select identity(int,1,1) as tid,id,aa,bb into #tmp from tname
select t1.id,t1.aa,t1.bb from #tmp t1 where t1.tid in
(select min(t2.tid) from #tmp t2 group by t2.id)
這樣可以得到符合要求的結(jié)果
不過(guò)用了兩個(gè)t-sql語(yǔ)句,
而且如果是大數(shù)據(jù)量的話,性能問(wèn)題將很突出
到目前為止,我還沒(méi)找到用一個(gè)t-sql語(yǔ)句實(shí)現(xiàn)同樣功能的方法,
如果誰(shuí)有,希望補(bǔ)充
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 勃利县| 和平区| 榆树市| 绥阳县| 杨浦区| 临夏市| 丰城市| 锡林浩特市| 墨竹工卡县| 华安县| 千阳县| 故城县| 巩留县| 略阳县| 古蔺县| 洛南县| 罗山县| 牡丹江市| 泸溪县| 赣州市| 古浪县| 大姚县| 宁津县| 察哈| 四川省| 瓮安县| 德清县| 彭山县| 独山县| 武威市| 航空| 芷江| 藁城市| 天镇县| 武安市| 随州市| 英超| 南郑县| 罗源县| 右玉县| 安泽县|