选择具有最小时间值的字段信息

时间:2010-05-04 12:15:52

标签: php mysql

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我认为min函数必须与group by子句一起使用。但是,您发布的第二个请求选择完整的id列表,其中topic_id是您想要的,按entry_time排序(您可以添加一个ASC或DESC,使其成为最清晰的imo)然后,只返回第一个。

它出了什么问题? : - )

答案 2 :(得分:1)

SELECT  id, MIN(entry_time)
FROM    scrusersonline
WHERE   topic_id='$topic_id'

根据SQL标准,此查询无效。

除非您id,否则您无法在SELECT列表中使用GROUP BY,因为不清楚该组中的哪个id应该返回。

但是,

MySQL允许这样的查询从组中返回任何随机id(如果没有GROUP BY子句,则从整个记录集返回。)

此行为旨在简化PRIMARY KEY与<{1}}的连接:

GROUP BY

在这种情况下,SELECT mytable.*, COUNT(*) FROM mytable JOIN othertable ON othertable.col1 = mytable.id GROUP BY mytable.id 中的所有记录都保证在组内相同,并且返回哪一个并不重要。

您的查询不会返回保存最小值mytable的记录。相反,它会返回entry_time的最小值和满足entry_time条件的随机 id,但不保证属于同一记录。< / p>