我得到那张桌子:

id    table_id      ....
1         1
2         1
3         1
4         2
5         2

我希望查询从所有具有相同table_id的人获得最高记录

结果:
id    table_id      ....
1         1
4         2

我试过了 :
SELECT
   id, shift_id, name_of_shift, person_in_shift,
   starttime_in_shift, endtime_in_shift, table_id,
   startdate, enddate, point_id
FROM
   sarcshifttable
WHERE
   (table_id IN (SELECT DISTINCT table_id
                 FROM sarcshifttable AS sarcshifttable_1))

但是它带给我所有数据,我只想要最上面的一个

最佳答案

他说,他希望所有专栏都归还,因此必须是这样的:

SELECT
   id, shift_id, name_of_shift, person_in_shift,
   starttime_in_shift, endtime_in_shift, table_id,
   startdate, enddate, point_id
FROM
   sarcshifttable
WHERE id IN
(
 SELECT MIN(id)
 FROM sarcshifttable
 GROUP BY table_id
)

10-07 19:49