跨两个表的复杂mysql查询

时间:2011-07-21 03:43:24

标签: mysql sql join

表1 :包含typeIDgroupIDtypeNamedescription列的invTypes 表2 :item_value包含typeIDvolumeavgmaxminstddev,{ {1}},percentile

我需要返回上面的所有列,其中最新的updated_on(日期时间)字段作为决定因素。我希望返回每天的最新日期时间,并将表1和表2中的所有信息作为结果。

2 个答案:

答案 0 :(得分:0)

SELECT * FROM table1 
LEFT JOIN table1.uniqueid = table2.uniqueid ON table2 
ORDER BY update_on DESC 
GROUP BY (DATE(updated_on))

答案 1 :(得分:0)

这是您在updated_on表格中为每个日期获取与最新item_value相对应的行的方式:

SELECT
  invTypes.*,
  item_value.*
FROM
  item_value
INNER JOIN
  (
    SELECT
      MAX(updated_on) AS `updated_on`
    FROM
      item_value
    GROUP BY
      DATE(updated_on)
  ) latest
ON
  latest.updated_on = item_value.updated_on
INNER JOIN
  invTypes
ON
  invTypes.typeID = item_value.typeID
ORDER BY
  item_value.updated_on