我的查询检索最新记录时遇到问题。我的表格如下所示。
|cname|fname |date |total|
|tony |bun |10-8-2015|$0.80|
|tony |lamb |10-8-2015|$0.80|
|tony |cheese|10-8-2015|$0.80|
|tony |spicy |10-8-2015|$0.80|
|sue |crispy|10-9-2015|$0.80|
|sue |beef |10-9-2015|$0.80|
|sue |normal|10-9-2015|$0.80|
|sue |normal|10-9-2015|$0.80|
这是我的SQL查询:
$query1="select fname, total, cname, max_date = max(date) from purchase
group by cname";
我希望结果如下所示:
|cname|fname |date |total|
|sue |crispy|10-9-2015|$0.80|
|sue |beef |10-9-2015|$0.80|
|sue |normal|10-9-2015|$0.80|
|sue |normal|10-9-2015|$0.80|
我的问题是我想要检索最新的数据,但它不断发出数据未找到的错误。我的日期数据XAMPP结构是(日期)。
答案 0 :(得分:0)
尝试以下操作!
$query1 = "select fname, total, cname, max(date) from purchase as maxdate
group by cname limit 1;
答案 1 :(得分:0)
你需要使用一个子查询来检索cname和fname的最大日期(根据你的输出,你也需要fname)并将它连接回原始表:
select t.* from table t
inner join (
select cname, fname, max(date) as mdate from table group by cname, fname) t2
on t.fname=t2.fname and t.cname=t2.cname and t.date=t2.mdate