SELECT
    number, count(id)
FROM
    tracking
WHERE
    id IN (SELECT max(id) FROM tracking WHERE splitnr = 'a11' AND number >0 AND timestamp >= '2009-04-08 00:00:00' AND timestamp <= '2009-04-08 12:55:57' GROUP BY ident)
GROUP BY
    number

最佳答案

这个怎么样:

SELECT    number, count(id)
FROM    tracking
  INNER JOIN (SELECT max(id) ID FROM tracking
                 WHERE splitnr = 'a11' AND
                       number >0 AND timestamp >= '2009-04-08 00:00:00' AND
                       timestamp <= '2009-04-08 12:55:57'
              GROUP BY ident
             ) MID ON (MID.ID=tracking.id)
WHERE
GROUP BY number

关于sql - 是否可以将此查询转换为使用联接而不是子查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/734481/

10-08 22:51
查看更多