SQL SERVER中有表如下
电话 公司
电话1 a
电话2 a
电话3 a
电话4 b
电话5 b
电话6 b
电话7 b
电话8 c
电话9 c
一个公司可能有多部电话,现在要查公司电话,求一个公司只要一部电话就行了(哪一部都行),怎么用SQL语句实现啊?毕业太久了,忘光了,谢谢各位大侠了!!
我补充了一下,麻烦你再给看看,用的是SQL SERVER 2005
追答WITH mycte AS(
SELECT ROW_NUMBER() OVER( ORDER BY 公司) NO, 电话, 公司 FROM #test)
SELECT 电话, 公司 FROM mycte WHERE NOT EXISTS (
SELECT 公司 FROM mycte sub WHERE mycte.公司 = sub.公司 AND mycte.no >
sub.no );
其中#test为表名,mycte、sub为#test的别名,其中用到了ROW_NUMBER() OVER和NOT EXISTS函数,这条是可以实现你要效果