gpt4 book ai didi

mysql - 堆叠多个日期和搜索字符串查询 SQL

转载 作者:行者123 更新时间:2023-11-29 05:50:34 24 4
gpt4 key购买 nike

我正在清理我的代码。以下代码按预期工作,但我无法弄清楚如何将日期查询与使用“IN”查询的事件类型类似。似乎有太多的代码可以做同样的事情只是一组不同的日期。我知道这与括号和使用逗号有关,但我已经尝试过但没有运气。这是我的工作代码:

SELECT * FROM sa_incidents 
WHERE
(incidentDate BETWEEN '2019-01-01' AND '2019-12-31' )
AND
incidentType
IN (
'RIDDOR - Dangerous Occurrence',
'RIDDOR - Public',
'Non RIDDOR - Near Miss',
'Non RIDDOR - Minor Injury'
)
OR (incidentDate BETWEEN '2017-01-01' AND '2017-12-31')
AND
incidentType
IN (
'RIDDOR - Dangerous Occurrence',
'RIDDOR - Public',
'Non RIDDOR - Near Miss',
'Non RIDDOR - Minor Injury'
)
OR
(incidentDate BETWEEN '2016-01-01' AND '2016-12-31' )
AND
incidentType
IN (
'RIDDOR - Dangerous Occurrence',
'RIDDOR - Public',
'Non RIDDOR - Near Miss',
'Non RIDDOR - Minor Injury'
)

最佳答案

如果你只是想减少不必要的编码,这就可以了

SELECT * FROM sa_incidents 
WHERE (
incidentDate BETWEEN '2019-01-01' AND '2019-12-31'
OR incidentDate BETWEEN '2017-01-01' AND '2017-12-31'
OR incidentDate BETWEEN '2016-01-01' AND '2016-12-31'
)
AND incidentType IN (
'RIDDOR - Dangerous Occurrence',
'RIDDOR - Public',
'Non RIDDOR - Near Miss',
'Non RIDDOR - Minor Injury'
)
ORDER BY <something like the data probably>

关于mysql - 堆叠多个日期和搜索字符串查询 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54770293/

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