我有三个桌子。
lt表是
lt lotNum
w表是
id waferNum seq lt_id
晶圆图表是
id x y binNu binNa se W_id
我查询了要从这三个表中进行选择。
SELECT lt.lotNum, w.waferNum, wafermap.y, wafermap.x, w.seq, wafermap.binNu, wafermap.binNa
FROM (lt INNER JOIN w ON lt.id = w.lt_id) INNER JOIN wafermap ON w.id = wafermap.W_id
WHERE (((lt.lotNum) Like 'kstx203') AND ((w.waferNum) Like '1'))
ORDER BY w.waferNum, wafermap.y, wafermap.x, w.seq;
lotNum waferNum y x seq binNu binNa
kstx203 1 2 81 s1 C CTST
kstx203 1 2 81 s2 L LTST
kstx203 1 2 82 s1 H HTST
kstx203 1 2 82 s2 L STST
kstx203 1 4 69 s1 G GTST
kstx203 1 4 69 s2 L LTST
kstx203 1 7 73 s1 R RTST
kstx203 1 7 90 s1 D DTST
kstx203 1 7 90 s2 L LTST
kstx203 1 9 106 s1 G GTST
kstx203 1 11 44 s1 C CTST
kstx203 1 11 44 s1 L LTST
kstx203 1 22 63 s2 L LTST
我想删除x和y中重复的内容,因此创建了一个新查询。
SELECT lptlt.lt.lotNum, w.waferNum, wafermap.y, wafermap.x, min(w.seq), min(wafermap.binNu), min(wafermap.binNa)
FROM (lptlt.lt INNER JOIN w ON lptlt.lt.id = w.lt_id) INNER JOIN wafermap ON w.id = wafermap.W_id
GROUP BY .lt.lotNum, w.waferNum, wafermap.y, wafermap.x
HAVING (((lptlt.lt.lotNum) Like 'kstx203') AND ((w.waferNum) Like '1'))
ORDER BY w.waferNum, wafermap.y, wafermap.x, min(w.seq);
结果是
lotNum waferNum y x min(seq) min(wafermap.binNu) min(wafermap.binNa)
kstx203 1 2 81 s1 C CTST
kstx203 1 2 82 s1 H HTST
kstx203 1 4 69 s1 G GTST
kstx203 1 7 73 s1 R RTST
kstx203 1 7 90 s1 D DTST
kstx203 1 9 106 s1 G GTST
kstx203 1 11 44 s1 C CTST
kstx203 1 22 63 s2 L LTST
但是我发现那不是我想要的,因为min()不会选择列出的第一个,而是首先选择字母数字。 x和y重复时,如何选择第一个(列出的顺序)?例如,当x和y重复时,我想选择s1的行?