我正在开发一个php页面,并有一个名为
的表computer_complaint
我想要的是通过用户提出的最新投诉从该表中获取数据。 当用户提交任何投诉时,它会存储在此表格中,这会给他一个独特的
COMPUTER_ID
和
problem_date
是用户投诉时输入日期的列。并且同一个用户可以多次投诉
现在我想要一个查询,通过该查询我可以显示该用户投诉的最新详细信息,因此我需要对该computer_id上的最后一个problem_date进行排序。 我当前的查询是
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的所有记录,而我只想要最新的记录 因此,我希望所有computer_id仅显示最新提交的投诉,不显示每个ID的所有投诉,因为这使我的显示屏连线。
提前致谢。
答案 0 :(得分: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
,这将为您提供最新条目!