答案 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>