如何在mysql

时间:2019-03-24 13:16:53

标签: mysql

我有三个桌子。

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的行?

0 个答案:

没有答案