Wählen Sie TOP-20 Verschiedene Zeilen in der Abfrage

Ich protokollieren von Aktionen der Benutzer in einer Tabelle mit einer Datum-Stempel.

Jedes mal, wenn ein Benutzer in ein Projekt geht, meldet es sich, dass Sie betrachtet das Projekt und Stempel der datetime.

Möchte ich die TOP-20 Projekte, die der Benutzer zuletzt gelaufen.

Dies ist, was ich habe, so weit:

SELECT DISTINCT TOP (20) Users_Tran_ID
FROM App_UserLog
WHERE (Users_ID = 'ADMIN') AND (Users_Transaction LIKE 'Permit Viewed%')
ORDER BY App_UserLog.Users_LogDate DESC

Das problem ist, ich will nicht die Users_LogDate in meine Ausgabe, wie ich brauche, EINZIGARTIGE Users_Tran_ID.

Wenn ich entfernen Sie die Users_LogDate aus dem SELECT bekomme ich die folgende Fehlermeldung:

ORDER BY items must appear in the select list if SELECT DISTINCT is specified.

Hier ist die grundlegende und wählen Sie Ergebnismenge, die ich bekomme. Ich will nur die deutliche Users_Tran_ID und nur die TOP 20.

ADMIN   Permit Viewed   B2011-0012  2013-08-29 17:35:04.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 17:29:09.000
ADMIN   Permit Viewed   B2006-0043  2013-08-29 17:29:05.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 17:28:49.000
ADMIN   Permit Viewed   B2008-0167  2013-08-29 17:17:13.000
ADMIN   Permit Viewed   B2006-0043  2013-08-29 17:17:08.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 17:16:55.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 17:16:45.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 17:16:38.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 17:16:32.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 11:39:59.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 11:22:05.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 11:22:03.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 10:23:17.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 10:21:58.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 10:20:41.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 10:20:37.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 10:18:01.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 10:17:58.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 10:17:54.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 10:01:50.000
ADMIN   Permit Viewed   B2011-0012  2013-08-29 10:01:48.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 09:56:32.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 09:53:31.000
ADMIN   Permit Viewed   B2007-0478  2013-08-29 09:53:27.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-15 12:51:09.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-15 12:51:07.000
ADMIN   Permit Viewed   BLD2012-0094    2013-08-13 12:01:39.000
ADMIN   Permit Viewed   ENG2013-0047    2013-08-05 10:40:34.000
ADMIN   Permit Viewed   ENG2013-0047    2013-08-05 10:40:28.000
ADMIN   Permit Viewed   ENG2013-0047    2013-08-05 10:40:24.000
ADMIN   Permit Viewed   ENG2013-0047    2013-08-05 10:40:21.000
ADMIN   Permit Viewed   ENG2013-0047    2013-08-05 10:40:13.000
ADMIN   Permit Viewed   ENG2013-0047    2013-08-05 10:40:09.000
ADMIN   Permit Viewed   ENG2013-0047    2013-08-05 10:40:07.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-05 10:37:55.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-05 10:37:50.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-05 10:37:46.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-05 10:37:40.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-05 10:37:33.000
ADMIN   Permit Viewed   ENG2012-0141    2013-08-05 10:37:31.000
ADMIN   Permit Viewed   BLD2012-0919    2013-08-05 10:27:21.000
ADMIN   Permit Viewed   BLD2012-0919    2013-08-05 10:27:17.000
ADMIN   Permit Viewed   ENG2012-0119    2013-08-05 10:26:51.000
ADMIN   Permit Viewed   ENG2012-0119    2013-08-05 10:26:48.000

Wie kann ich dies tun?

  • Ist die Transaktions-ID pro Projekt? Ich sehe Sie nicht identifizieren ein Projekt in deiner Abfrage?
  • Die Users_Tran_ID enthält die PROJEKT-Nummer, die ich brauche. Meine top-line werde ich Bearbeiten, ich muss echt nur Users_Tran_ID in meine endgültige Ergebnis.
Schreibe einen Kommentar