gpt4 book ai didi

mysql - 带有日期和序列字段的 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 17:38:06 24 4
gpt4 key购买 nike

我已将 Retrosheet(可追溯至 1952 年的棒球比赛实况数据库)数据导入到 MySQL 数据库中。有一个 GAME_ID 字段标识棒球比赛。

First 3 fields: home team
Next 8 fields: YYYYMMDD
Last field: game sequence for double-headers, triple-headers.

ATL199206230 = 6 月 23 日在亚特兰大举行的比赛——双赛第一场比赛ATL199206231 = 6 月 23 日在亚特兰大举行的比赛 – 双赛第二场

因为我的大多数查询都需要日期,所以我创建了一个 GAME_DATE 列,并解析了 GAME_ID 字段以更新它。我还为序列字段创建了 GAME_SEQ 字段。

假设我想在表中查询比赛日期小于或等于双赛第一场比赛 (ATL199206230) 的所有数据。

SELECT * FROM games WHERE GAME_DATE <= ‘1992-06-23’.

这不起作用,因为我不想从游戏“ATL199206231”获取数据。

如何在查询中使用 GAME_SEQ?

SELECT * FROM games WHERE GAME_DATE <= ‘1992-06-23’ and GAME_SEQ = 0

这也行不通,因为我想要这个游戏BOS199008231(1990年 double 第二场)

我考虑将 GAME_SEQ 字段包含在日期的“时间”部分中。

例如:

1992-06-23:00:00:00
1992-06-23:01:00:00

有更好的方法吗?

最佳答案

您可以使用这样的 case 语句:

SELECT * FROM games WHERE GAME_DATE <= ‘1992-06-23’ and GAME_SEQ = 
case when GAME_DATE = ‘1992-06-23’ then 1 else 0 end

关于mysql - 带有日期和序列字段的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50161182/

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