我有这样的 mysql 表
id id_p name date
1 1 test1 2015-01-01
2 1 test1 2015-02-02
3 2 test2 2015-03-01
4 2 test2 2014-03-05
按日期选择
select name, date from table1 where date <= (now() - interval 6 month)
结果是
name date
test1 2015-01-01
test1 2015-02-02
test2 2015-02-02
test2 2014-03-05
如何得到这个结果如何限制
name date
test1 2015-01-01
test2 2015-02-02
感谢您的帮助
最佳答案
您应该使用GROUP BY
,这意味着您的字段需要正确设置,否则mysql不知道要返回哪个值。在本例中,我将您的 date
字段包装在 MIN
函数中,因为您似乎想要最低/最早的日期。
因此,根据您的情况,请像这样修改查询:
SELECT `name`, MIN(`date`) as `date`
FROM table1
WHERE `date` <= (now() - interval 6 month)
GROUP BY `name`
关于php - 从 mysql 选择多行,但显示每个 id 的一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35303516/