【问题标题】:Mysql 4.0 Get data of Min valueMysql 4.0 获取最小值的数据
【发布时间】:2014-02-15 14:12:25
【问题描述】:

是否可以获取最小 id 的记录并按列分组? (在 4.0 中)

SELECT period, activity, date
FROM (
    SELECT MIN(id) id
    FROM Booking 
    WHERE place = 'CONFERENCE'          
    AND Date = '05 - Mar'   
    GROUP BY period
) A
INNER JOIN Booking B
USING (id) ORDER BY id

可能相当于4.0版吗?

【问题讨论】:

  • 4.0 版已有 11 年历史。你真的应该更新。
  • 也许 FORTRAN 更适合这项任务。

标签: mysql group-by min


【解决方案1】:

我认为以下得到了没有子查询的 id 的最小值:

select b1.period, b1.activity, b1.date
from booking b1 cross join
     booking b2
group by b1.id, b2.period
having b1.id = min(b2.id)

您可以将where 条件应用为:

select b1.period, b1.activity, b1.date
from booking b1 cross join
     booking b2
where b2.place = 'CONFERENCE' and   
      b2.Date = '05 - Mar'   
group by b1.id, b2.period
having b1.id = min(b2.id);

【讨论】:

  • 如果id 存在于booking 表中,having 子句中的id 怎么可能是未知的?
猜你喜欢
  • 2011-07-30
  • 2021-06-02
  • 2018-06-06
  • 2021-08-30
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 1970-01-01
  • 2012-08-23
相关资源
最近更新 更多