mysql - 在同一个表中选择多个条件

标签 mysql sql

我可能想得太多了,但情况是这样的...当修改描述性字段之一并将修改后的预订保存到时,我有一个功能可以将更新#增加一,同时保留相同的预订#表 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 填充一个过滤表,其中使用每个预订编号的最高更新编号,根据预订编号字段中的不同值选择行。我已经尝试了大多数 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);

通过在(预订、更新)(两列,按该顺序)上建立索引,该解决方案可以具有非常好的性能。

关于mysql - 在同一个表中选择多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48455454/

相关文章:

javascript - 当状态为 "paid"时禁用支付按钮

sql - 在 SQL Server 中合并 XML

sql - 不应该在 Sql 中的 SELECT 之前出现吗?

.net - 在 SSMS 中快,在应用程序中慢 - 为什么这个数据集需要这么长时间才能填充?

Mysql查询: between a number range when numbers have hyphens

php - 登录错误并登录优化

php - 使用 PHP 生成唯一的 url slug

php - 用php发送请求后如何获取id并保存到数据库?

php - 数组插入mysql行

mysql - 将可选数据存储在单独的表中或作为列