0
我有这个疑问:从重复值在SQL Server中,选择第一条记录
Select DFC_NOMBRE_CAMPO, DFC_TITULO, TDT_DATO_MOTOR, DFC_LONGITUD
FROM MEM_DEFINICIONES_CAMPOS JOIN MEM_TIPOS_DATOS ON DFC_TDT_CODIGO = TDT_CODIGO
WHERE DFC_ALMACENAR_BASEDATOS = 'S'
ORDER BY DFC_NOMBRE_CAMPO ASC, DFC_LONGITUD DESC
,结果,给我重复值:
DFC_NOMBRE_CAMPO DFC_TITULO TDT_DATO_MOTOR DFC_LONGITUD
-------------------------------------------------- -------------------------------------------------- -------------------- ---------------------------------------
CodigoRespuesta Cod. Respuesta Varchar 3
CodigoRespuesta Cod. Resp. Numeric 3
CodigoRespuesta Cod Respuesta Numeric 3
CodigoTransaccion NULL Numeric 2
CodigoTransaccion Codigo Transaccion Numeric 2
CodigoTransaccion Codigo Transaccion Numeric 2
Estado Estado Numeric 2
FechaHora Fecha Varchar 14
FechaHora Fecha Varchar 14
FechaHora Fecha Varchar 14
NUT NUT Numeric 9
NUT NUT Numeric 8
NUT NUT Numeric 8
我怎样才能获得只有从每个冷杉记录(DFC_NOMBRE_CAMPO)组。像这样:
DFC_NOMBRE_CAMPO DFC_TITULO TDT_DATO_MOTOR DFC_LONGITUD
-------------------------------------------------- -------------------------------------------------- -------------------- ---------------------------------------
CodigoRespuesta Cod. Respuesta Varchar 3
Estado Estado Numeric 2
FechaHora Fecha Varchar 14
NUT NUT Numeric 9
WOW外观极好!仅仅只需要一个minnor修复 – Equiman 2012-04-10 22:17:23
SELECT DFC_NOMBRE_CAMPO,DFC_TITULO,TDT_DATO_MOTOR,DFC_LONGITUD FROM ( \t SELECT DFC_NOMBRE_CAMPO,DFC_TITULO,TDT_DATO_MOTOR,DFC_LONGITUD, \t ROW_NUMBER()OVER(PARTITION BY DFC_NOMBRE_CAMPO ORDER BY DFC_NOMBRE_CAMPO ASC)R \t FROM MEM_DEFINICIONES_CAMPOS JOIN MEM_TIPOS_DATOS ON DFC_TDT_CODIGO = TDT_CODIGO \t WHERE DFC_ALMACENAR_BASEDATOS ='S' )AS CTE 其中Rn = 1 – Equiman 2012-04-10 22:17:54