一张表只有两个字段name,date;根据时间group by之后如果当天的name有多个值怎么取,
比如说name=tom,date=20120312,name=jack,date=20120312
查到date是20120312的name是什么?
name是 tom 和 jack
会显示name列有两个值 tom jack 一列两行
group by分组了 每组无论多少只会显示一个,楼主到底要做什么,如果必须把每个name都显示,就要以name分组 或name date 分组。这个mysql不会显示你语句错误。oracle的话你表达的语句就是语法错误!!!!
你可能根据时间分组了,所以只显示一个name。去掉group by 即可
你在使用 group by 分组时,若分组列值是一样的,则会默认从你查询的行中,取出越靠前的一行作为该分组。比如你的name=tom,date=20120312,name=jack,date=20120312 ,在磁盘存储文件中,假设你有个默认 id = 1 name = jack; id = 2 name = tom; 此时 jack 会被筛选出来。反之也一样。