Mysql 在同一表格中选择多个条件

Mysql 在同一表格中选择多个条件,mysql,sql,Mysql,Sql,我可能想得太多了,但情况是这样的。。。当其中一个描述性字段被修改并且修改的预订被保存到表1中的一个新控件中时,我有一个功能将更新增加1,同时保留相同的预订 表1 Control # | Booking # | Bunch of Descriptive Fields | Update # | ----------|-----------|-----------------------------|----------| 1 | 1 | .......

我可能想得太多了,但情况是这样的。。。当其中一个描述性字段被修改并且修改的预订被保存到表1中的一个新控件中时,我有一个功能将更新增加1,同时保留相同的预订

表1

Control # | Booking # | Bunch of Descriptive Fields | Update # |
----------|-----------|-----------------------------|----------|
    1     |     1     |         ........            |     0    |
    2     |     2     |         ........            |     0    |
    3     |     3     |         ........            |     0    |
    4     |     1     |         ........            |     1    |
    5     |     4     |         ........            |     0    |
    6     |     2     |         ........            |     1    |
    7     |     1     |         ........            |     2    |
我们的目标是让一个ObservableCollection中填充一个筛选表,在该表中,使用每个预订的最高更新,根据Booking#字段的不同值选择行。我已经尝试了大部分的SELECT解决方案来从网络创建表,包括UNION、JOIN、多个SELECT语句等,但都没有正常工作。我想要的是这样一个结果表:

Control # | Booking # | Bunch of Descriptive Fields | Update # |
----------|-----------|-----------------------------|----------|
    7     |     1     |         ........            |     2    |
    6     |     2     |         ........            |     1    |
    3     |     3     |         ........            |     0    |
    5     |     4     |         ........            |     0    |
任何帮助都将不胜感激。

这里有一种方法:

select t.*
from t
where t.update = (select max(t2.update) from t t2 where t2.booking = t.booking);
此解决方案的索引位于
(预订、更新)
(两列按顺序排列)。

以下是一种方法:

select t.*
from t
where t.update = (select max(t2.update) from t t2 where t2.booking = t.booking);
此解决方案在
(预订、更新)
(两列按顺序排列)上有索引,性能非常好