2016-07-27 32 views
0

habe ich eine Abfrage, in der ich eine Spalten als SR_No wollen die sollte von 1Serien-Nr ab 1

starten Unten finden Sie meine Anfrage

SELECT   
top 2  
userName, 
Party_name, 
Ref_No, 
Ref_date, 
doc_date, 
Last_Action_date, 
RAName,   
COUNT(Doc_No) AS CountofDocNo,     
Document_Type,   
RA1_Email     
FROM #MainTempTable   
GROUP BY RAName,   
userName,   
Document_Type,   
RA1_Email ,Party_name,Ref_No, 
Ref_date, doc_date,Last_Action_date 
order by RAName 

Wie es aus der Seriennummer starten 1.

ich habe versucht, mit Row_NUM() aber es war nicht an den Start von 1.

UPDATE

Ich versuchte Madhivnan Lösung, aber es hat für meine zweite Abfrage nicht funktioniert

SELECT   
top 2 
row_number() over (order by (select 0)) as SR_No,  
UserName, 
RAName, 
Party_Name,  
Ref_No, 
Ref_date, 
doc_date, 
Last_Action_date, 
Document_Type,   
Doc_No,   
No_Of_Days_Doc_Pending,   
UserEmail,RA1_Email     
FROM #MainTempTable order by UserName 
+0

Was ist ein Code, den Sie mit ROW_NUM() versuchen? –

+0

@Edward: Ich habe versucht, so etwas wie 1 + ROW_NUMBER() OVER (ORDER BY benutzername) AS [SR_No] 'und in Ordnung von' als 'SR_NO' – BNN

+0

Und warum hast du 1 zu ihm? Da 'ROW_NUMBER()' so definiert ist, dass Zeilen beginnend bei 1 nummeriert werden, wenn Sie es zuerst als '1 + ROW_NUMBER()' ausprobiert haben und Sie Zahlen ab 2 bekommen haben, dachten Sie nicht, dass es hier eine offensichtliche Lösung gab? –

Antwort

2

dieses Versuchen

SELECT   
top 2 row_number() over (order by (select 0)) as SR_No,  
userName, 
Party_name, 
Ref_No, 
Ref_date, 
doc_date, 
Last_Action_date, 
RAName,   
COUNT(Doc_No) AS CountofDocNo,     
Document_Type,   
RA1_Email     
FROM #MainTempTable   
GROUP BY RAName,   
userName,   
Document_Type,   
RA1_Email ,Party_name,Ref_No, 
Ref_date, doc_date,Last_Action_date  
order by RAName 
+0

das ist cool und funktioniert perfekt – BNN

+0

Was meinst du mit "Hat nicht funktioniert?" – Madhivanan

+1

Dies ist "Bitte weisen Sie meinen Zeilen Zufallszahlen zu" - wenn Sie hier etwas Determinismus wollen, verwenden Sie Ausdrücke, die auf Ihren Daten und Ihren Anforderungen basieren, anstatt "(wählen Sie 0)". –

0

Es sollte Arbeit in Ihrem Fall sein:

SELECT   
top 2  
userName, 
Party_name, 
Ref_No, 
Ref_date, 
doc_date, 
Last_Action_date, 
RAName,   
COUNT(Doc_No) AS CountofDocNo,     
Document_Type,   
RA1_Email, 
ROW_NUMBER() OVER(ORDER BY RAName) AS SR_No     
FROM #MainTempTable   
GROUP BY RAName,   
userName,   
Document_Type,   
RA1_Email ,Party_name,Ref_No, 
Ref_date, doc_date,Last_Action_date 
0

Dieser könnte Ihnen helfen

select ROW_NUMBER() OVER (order by field1) as rownumber,field2,field3 from dbo.yourtable