在我的查询中,当我按frl_nr分组时,我得到了第一条记录i olje表。olje表中有许多记录具有相同的frl_nr。我想按日期栏从olje表中获取最新记录。她是我的搜索字符串:
$sql = "SELECT *
FROM frl_sok
INNER JOIN olje ON frl_sok.id_nr = olje.id_nr
WHERE frl_sok.kunde_nr = '$kunde'
AND frl_sok.jobb_nr = '$jobb_nr'
GROUP BY frl_sok.frl_nr DESC";
解决方案是什么?
我的两张桌子都在这里
您应该使用row_number((,而不是尝试按.进行分组
试试这个:
select * from (
SELECT *,
row_number() over (partion by frl_sok.frl_nr order by date desc) rn
FROM frl_sok
INNER JOIN olje ON frl_sok.id_nr = olje.id_nr
WHERE frl_sok.kunde_nr = '$kunde'
AND frl_sok.jobb_nr = '$jobb_nr'
) q where rn=1"
这是我提出的解决方案,它很有效。
$sql="选择a.id_nr、a.frl_nr、a.maskin_id、a.tilstand_olje、b.date FROM frl_sok a INNER JOIN olje b ON a.id_nr=b.id_nr INNER JOIN(选择id_nr,MAX(date(MAX_date FROM olje GROUP BY id_nr(c ON b.id_nr=c.id_nr AND b.date=c.MAX_date WHERE a.kunde_nr='$kunde'AND a.jobb_nr='$jobb_nr'";