php mysql 时间对比
我表的结构是这样的:字段A字段B字段C物品名时间数量语句:$r=mysql_query("select*from表groupby字段A",$line);while($ro...
我表的结构是这样的:
字段A 字段B 字段C
物品名 时间 数量
语句:$r= mysql_query("select * from 表 group by 字段A",$line);
while($row=mysql_fetch_boject($r))
我是用while循环获取数据的,这是一个查询数据的页面,同一个物品会保存两条数据,即“物品A,6月4号,数量为5”,“物品A,6月5日,数量为3”,由于我页面只显示一条关于物品A最近的数量情况,所以使用了group by,问题是如何判断输出的数据是6月5号,而不是6月4号的数据呢~?请大虾们帮帮忙~!
数据库内不止一个物品A的,还有物品B、C、D的存在的,所以不能用order by “时间” desc limit 1来实现,要循环得出数据库内所有物品的最后日期所记录的数据~! 展开
字段A 字段B 字段C
物品名 时间 数量
语句:$r= mysql_query("select * from 表 group by 字段A",$line);
while($row=mysql_fetch_boject($r))
我是用while循环获取数据的,这是一个查询数据的页面,同一个物品会保存两条数据,即“物品A,6月4号,数量为5”,“物品A,6月5日,数量为3”,由于我页面只显示一条关于物品A最近的数量情况,所以使用了group by,问题是如何判断输出的数据是6月5号,而不是6月4号的数据呢~?请大虾们帮帮忙~!
数据库内不止一个物品A的,还有物品B、C、D的存在的,所以不能用order by “时间” desc limit 1来实现,要循环得出数据库内所有物品的最后日期所记录的数据~! 展开
4个回答
2012-06-07
展开全部
select group_concat(字段A order by 字段B desc) as A, group_concat(字段B order by 字段B desc) as B, group_concat(字段C order by 字段B desc) as C from 表 group by 字段A,
这样可以取出所有物品类别的数据集,然后explode(',', A); 取第一个应该就最后日期的记录数据
这样可以取出所有物品类别的数据集,然后explode(',', A); 取第一个应该就最后日期的记录数据
追问
懂得实现了,还有没有简单点的方法呢~?
这样实现的话,在输出的时候,要先$a = explode(),然后再echo出来的,有没有直接echo出来的方法呢~?我想简化代码,不想写得太长~!谢谢大虾~!
追答
如果实在不想多写一句explode()的话,
可以试试:
select SUBSTRING_INDEX(group_concat(字段A order by 字段B desc) , ',', 1) as A, SUBSTRING_INDEX(group_concat(字段B order by 字段B desc) , ',', 1) as B, SUBSTRING_INDEX(group_concat(字段C order by 字段B desc) , ',', 1) as C from 表 group by 字段A,
这样应该可以直接echo出来了。
展开全部
select * from 表 where id = 物品A,
就会得到两条记录吧。
就会得到两条记录吧。
追问
你不懂我意思,我只要显示日期为最后的一条记录~!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不是有时间字段吗,你在输出查询到的数据的时候用遍历的方式(也就是对$row[]遍历)同时输出下时间,就知道具体的物品是几号了
追问
我只显示一条日期为最新的数据~!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以order 排序一下就可以的或者 用 mysql的 min函数的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询