Mysql top 2 события запроса - PullRequest
       1

Mysql top 2 события запроса

0 голосов
/ 25 октября 2011

Я разрабатываю форму входа / выхода, используя MySQL и Visual Basic. В запросе, который у меня есть сейчас, отображаются только самые последние события каждого пользователя, но я хочу, чтобы отображались два верхних события (т. Е. Когда он или она вошли в систему и когда он / она вышли из системы.

У меня есть таблица с именем event со следующими полями:

Event_ID   
User_BannerID   
Class_ID   
Timestamp    
Status    
Creator

SELECT CONCAT(u.lastname, ', ', u.firstname) AS Name
   , s.class AS Class
   , DATE_FORMAT(e.timestamp,'%b %d %Y - %r') AS DateTime
   , e.status AS Status                
FROM event e, user u, status s   
WHERE e.user_bannerid = u.user_bannerid
   AND e.class_id = s.class_id
   AND event_id IN
   (
      SELECT MAX(event_id)
      FROM event e
      GROUP BY e.user_bannerid
   )
ORDER BY name 

Ответы [ 3 ]

0 голосов
/ 25 октября 2011

Взгляните на раздел «Выбор первых N строк из каждой группы» в этой статье .

0 голосов
/ 30 ноября 2011
AND event_id IN
(
  SELECT event_id
  FROM (SELECT * FROM event ORDER BY event_id DESC LIMIT 2) e
)

Источник для обходного пути: http://forums.mysql.com/read.php?86,14788,14788 и его ответ, связанный внизу. Проверено на 5.1

0 голосов
/ 25 октября 2011

Используйте предложение LIMIT в сочетании с правильным ORDER BY в предложении SELECT:

SELECT ...
FROM theTable
WHERE ...
LIMIT 2
ORDER BY timestamp DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...