我有一个汇总查询:
SELECT SERIAL, pos_id, MIN(fecha)
FROM pvs
WHERE pos_id = 50
GROUP BY SERIAL, pos_id
ORDER BY MIN(fecha) DESC;
,它很有效地获取了我需要的信息,除了一条数据是另一张表中该序列号的ID。当我加入时会发生这种情况。
SELECT d.id, p.SERIAL, p.pos_id, MIN(fecha)
FROM pvs p
JOIN devices d
ON d.SERIAL=p.SERIAL
WHERE p.pos_id = 50
GROUP BY p.SERIAL, p.pos_id, d.id
ORDER BY MIN(fecha) DESC;
我想显示另一张表中每一行的ID,但不能从组中排除ID(我只需要该序列号的第一个日期和第一个出现)。即我想要第一个查询,但要添加另一个表中的ID。
答案 0 :(得分:1)
您可以加入子查询
function my_url($offer) {
$dd = url_title($offer->number." ".$offer->number,"-",true);
$ddd= rawurldecode($ddd)
return site_url("siteweb\view".$offer->number."/".htmlspecialchars($ddd));
或者,如果您只需要一个ID,请应用聚集功能
select d.id, t.SERIAL, t.pos_id, t.min_fecha
from devices d
INNER JOIN (
SELECT SERIAL, pos_id, MIN(fecha) min_fecha
FROM pvs
WHERE pos_id = 50
GROUP BY SERIAL, pos_id
ORDER BY MIN(fecha) DESC;
) t on t.SERIAL = d.SERIAL
ORDER BY min_fecha DESC