【问题标题】:MySQL select lowest timedate for each idMySQL为每个id选择最低时间日期
【发布时间】:2014-04-06 11:41:44
【问题描述】:

我有这张桌子:

CREATE TABLE IF NOT EXISTS `event_showtime` (
  `id_show` int(11) NOT NULL AUTO_INCREMENT,
  `id_event` int(11) NOT NULL,
  `latitude` double NOT NULL,
  `longitude` double NOT NULL,
  `event_date_time` datetime NOT NULL,
  PRIMARY KEY (`id_show`),
  KEY `id_event` (`id_event`)
)

值如下所示,例如:

INSERT INTO `event_showtime` (`id_show`, `id_event`, `latitude`, `longitude`, `event_date_time`) VALUES
(1, 1, 49.2016762922894, 18.7615620750428, '2014-03-31 16:13:17'),
(2, 1, 49.2016762922894, 18.7615620750428, '2014-04-01 20:00:00'),
(3, 2, 49.2113914818564, 18.7520992416382, '2014-03-31 15:00:00'),
(4, 2, 49.0545135142313, 20.2952223676682, '2014-04-16 11:00:00'),
(5, 2, 49.2113914818564, 18.7520992416382, '2014-04-23 11:00:00'),
(6, 2, 49.0545135142313, 20.2952223676682, '2014-04-30 11:00:00'),
(7, 2, 49.2016762922894, 18.7615620750428, '2014-04-29 12:00:00'),
(8, 1, 49.2016762922894, 18.7615620750428, '2014-04-24 12:00:00');

我想以这种方式选择结果:

对于每个 id_event 我想选择最近的日期,也就是 > NOW() 所以结果应该是这样的:

`id_event` `event_date_time` 
1 , '2014-04-24 12:00:00' 
2 , '2014-04-16 11:00:00'

如何做到这一点? :)

【问题讨论】:

    标签: mysql sql datetime select


    【解决方案1】:
    select id_event, min(event_date_time) as lowest_date
    from event_showtime
    where event_date_time > now()
    group by id_event
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      相关资源
      最近更新 更多