gpt4 book ai didi

MySQL SELECT 排除多个范围

转载 作者:行者123 更新时间:2023-11-30 23:12:30 25 4
gpt4 key购买 nike

我有一个表,由记录硬件上发生的事件的驱动程序填充,当客户端应用程序正在执行特殊过程(比如维护)时,在此操作期间保存的事件是由于用户而不是我/O(传感器和其他东西)来处理这个问题,因为我需要保存所有可能的事件(无论是通过正常操作还是通过用户操作发生)。我需要能够过滤那些“维护模式”数据并获取自动生成的信息,为了做到这一点,我在硬件填充的表中插入“START”和“END”行,儿子我可以知道什么时候非功能性数据的开始和结束位置,如下所示:

id | fieldlist... 
---+--------------------
1 | event1
2 | event2
3 | event3
4 | manteinance start (inserted by me)
5 | event_by_technician1
6 | event_by_technician2
7 | event_by_technician3
8 | manteinance finish (inserted by me)
9 | event4
10| event5
11| manteinance start (inserted by me)
12| event_by_technicianx
13| event_by_techniciany
14| manteinance finish (inserted by me)
15| eventA
16| manteinance start (inserted by me)
17| event_by_technician
18| manteinance finish (inserted by me)
19| many many more records and start/finish pairs...

我需要过滤所有这些 event_by_technician* 并只获取 event* 行,有没有一种方法可以干净简单地查询一组可变且不统一的范围信息?

谢谢

编辑:我想我不清楚,有两个应用程序在服务器上运行,我的基于 php 的 Web 应用程序和一个外部驱动程序。两个脚本/应用程序访问同一个数据库,驱动程序从传感器和其他硬件状态插入数据,网络应用程序读取并显示一些非常漂亮的图形(它在用户请求时插入“信号”行,即单击按钮)。只是无法通过比较来确定事件是来自维护还是来自正常操作,因为它们完全相同,区别在于技术人员是否单击网页上的按钮开始,完成时单击另一个按钮。我需要的是询问 Mysql:“嘿,只要给我不在 field1=1(开始)的行和另一行 field1=2(结束)之间的行。考虑到结果中有很多开始/结束对.

我认为我正在采用重构表的方式,使用 php 在结果集循环的开始/结束行之间的数据中放置一个额外的列。然后进行查询。

最佳答案

您可以使用 LIKE 和 '?'替换一个字符。例如:

SELECT * FROM table WHERE  fieldlist LIKE 'event?'

关于MySQL SELECT 排除多个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19262750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com