|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
WindowsAzureSQLDatabase并不支持数据压缩和表分区之类的功能,而且SQLDatabase支持的Transact-SQL语言只是完整版的一部分。另外,因为解决方案提供商不能控制物理资源,所以他们不能将数据文件和索引分配给特定的硬件。access|反复|反复纪录
在一个表中有反复的纪录,反复的次数多是一条或多条,怎样在反复纪录中只留下一条,删除其他过剩的纪录,使数据集的每笔记录都是独一的?本文使用了一种对照愚笨不外逻辑对照分明的办法,但愿人人能供应更好的办法!
1列出表中的反复纪录
(sameoda)
SELECT[2].[地级市],Count(*)AS纪录数FROM2GROUPBY[2].[地级市]HAVINGcount(*)>1ORDERBY[地级市];
地级市纪录数100000951094210000095111621000009511272100000951138210000095114921000009511502
2以下是撤除不异纪录的历程
1)列出表中的一切反复纪录
(表2中反复纪录)
SELECT2.*FROM2RIGHTJOINsameodaON[2].[地级市]=[sameoda].[地级市];
ID编号地级市保险货品称号数目及包装单元声明代价(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨
2)从反复纪录中找到独一的一笔记录
minbihanhao
SELECT2.*FROM2LEFTJOIN表2中反复纪录ON[2].[ID]=[表2中反复纪录].[ID]WHERE[表2中反复纪录].[id]IsNull;
地级市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355
3)显现独一纪录的全体信息
allsame1
SELECT2.*FROM2LEFTJOINminbihanhaoON([2].[地级市]=[minbihanhao].[地级市])AND([2].[id]=[minbihanhao].[id])WHERE[minbihanhao].[地级市]IsNotNullORDERBY[2].[id];
4)在原表中撤除一切不异的纪录
dropsame2
SELECT2.*FROM2LEFTJOIN表2中反复纪录ON[2].[ID]=[表2中反复纪录].[ID]WHERE[表2中反复纪录].[id]IsNull;
5)表2撤除反复纪录=在原表中撤除一切不异的纪录+显现独一纪录的全体信息
表2撤除反复纪录
SELECT*FROMdropsame2UNIONselect*fromallsame1;
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。 |
|