【问题标题】:Avoid duplicates during joins在连接期间避免重复
【发布时间】:2016-12-01 04:02:18
【问题描述】:

假设我有这个数据库:

table1:
- id
- name

table2:
-id
-name
-date
-table1id

如果我做类似的事情

SELECT table1.id, table1.name,table2.date
FROM table1
LEFT JOIN table2 ON table1.id = table2.table1id

我将有 2 行。

我只想加入 table2 中最近日期的行。有没有办法通过 MySQL 来做,或者我必须在查询后用 PHP 之类的东西来做?

很好我想要一行,包含 table1.id、table1.name 和来自 table2 的链接条目的最近日期。

【问题讨论】:

  • 是的,使用 WHERE table2.date
  • WHERE table2.date = ?
  • 我也想知道where table2.date什么???
  • stackoverflow.com/a/2657495 并处理抢七局

标签: php mysql join


【解决方案1】:

使用GROUP BY和聚合函数MAX

SELECT table1.id, table1.name, MAX(table2.date) AS `date`
FROM table1
LEFT JOIN table2 ON table1.id = table2.table1id
GROUP BY table1.id

【讨论】:

    猜你喜欢
    • 2020-01-30
    • 2013-06-30
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2023-03-16
    • 2012-09-21
    相关资源
    最近更新 更多