好吧,这真的让我很困惑。
此查询返回预期结果,尽管有重复的 car_id 数字
SELECT car_id FROM `Updates` ORDER BY `updates`.`created` DESC
这 2 个查询返回同一组结果:
SELECT distinct `Updates`.`car_id` FROM `Updates` ORDER BY `updates`.`created` DESC
SELECT car_id FROM `Updates` GROUP BY car_id ORDER BY `updates`.`created` DESC
请参阅下文了解它们有何不同:
最佳答案
我认为这与您的问题并不严格相关,但是:
SELECT DISTINCT car_id
FROM Updates
ORDER BY created DESC
不是有效的标准 SQL 语法。可能有许多行具有相同的 car_id
和不同的 created
值。应该使用哪一个来订购?
也许您想重写查询以便它返回有意义的结果:
SELECT car_id
FROM Updates
GROUP BY car_id
ORDER BY MAX(created) DESC --- or MIN(created)
-- whatever suits you
关于MySQL SELECT DISTINCT 的行为不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9153102/