0

我正在处理一个 php 页面并有一个名为

电脑投诉

我想要的只是通过用户提出的最新投诉从该表中获取数据。当用户提出任何投诉时,它存储在此表中,这给了他一个独特的

计算机标识

问题日期

是输入用户提出投诉的日期和时间的列。同一用户可以多次投诉

现在我想要一个查询,通过它我可以显示该用户投诉的最新详细信息,因此我需要在该计算机 ID 上的最后一个问题日期上对表进行排序。我目前的查询是

select *,date_format(cc.problem_date,'%d/%m/%Y')as problem_date,ifnull(cc.attended_on,'Pending')as com_status from computer_complaint cc,computer_master cm,computer_st_complaint_mode ccm,computer_company_master cmy WHERE cc.`status`='Active' and cm.`status`='Active' and ccm.`status`='Active' and cmy.`status`='Active' and cc.computer_id=cm.computer_id and cc.method=ccm.comp_mod_id  and cm.company_id=cmy.company_id

但它显示了该特定 ID 的所有记录,而我只想要最新的记录因此我希望所有计算机 ID 仅显示最新提交的投诉,而不是显示每个 ID 的所有投诉,因为这会使我的显示屏连线。

提前致谢。

4

1 回答 1

1

要获取每个 中的最后一个cc.computer_id,您可以使用以下命令:

select *,date_format(cc.problem_date,'%d/%m/%Y')as problem_date,ifnull(cc.attended_on,'Pending')as com_status from computer_complaint cc,computer_master cm,computer_st_complaint_mode ccm,computer_company_master cmy WHERE cc.`status`='Active' and cm.`status`='Active' and ccm.`status`='Active' and cmy.`status`='Active' and cc.computer_id=cm.computer_id and cc.method=ccm.comp_mod_id  and cm.company_id=cmy.company_id ORDER BY cc.problem_date DESC GROUP BY cc.computer_id

这将为您提供最新条目,根据cc.problem_date

于 2013-07-17T07:43:26.917 回答