Muszę porównać wyniki względem tego samego czasu między dwiema tabelami, ale znaczniki czasu różnią się o kilka sekund ze względu na sposób ich zapisania. Chciałbym uzyskać wynik podobny do tego w Przykład 1, ale otrzymuję tylko wartości z gwiazdką, jak w Przykład 2. Jaki jest najlepszy sposób usunięcia secodów z porównania lub wybrania wartości odpowiadającej najbliższej wartości DATETIME?MySQL wybierz DATETIME podobny do minuty
Obecnie używam tej kwerendy:
SELECT Table1.TimeSTamp1, Table1.Param1, Table2.TimeStamp2, Table2.Param2
FROM Table1, Table2
WHERE ... conditions for the other parameters of Table1 and Table2...
AND Table1.TimeSTamp1 = Table2.TimeStamp2
Wszelkie sugestie na temat najlepszych praktyk jest ciepło przywitani.
Przykład 1
TimeStamp1 ¦ Param1 ¦ TimeStamp2 ¦ Param2
2011-01-01 00:00:35 ¦ 1 ¦ 2011-01-01 00:00:35 ¦ a *
2011-01-01 00:01:35 ¦ 2 ¦ 2011-01-01 00:01:35 ¦ b
2011-01-01 00:02:37 ¦ 3 ¦ 2011-01-01 00:02:35 ¦ c
2011-01-01 00:03:31 ¦ 4 ¦ 2011-01-01 00:03:35 ¦ d
2011-01-01 00:04:32 ¦ 5 ¦ 2011-01-01 00:04:35 ¦ e
2011-01-01 00:05:38 ¦ 6 ¦ 2011-01-01 00:05:35 ¦ f
2011-01-01 00:06:36 ¦ 7 ¦ 2011-01-01 00:06:36 ¦ g *
2011-01-01 00:07:32 ¦ 8 ¦ 2011-01-01 00:07:35 ¦ h
2011-01-01 00:08:33 ¦ 9 ¦ 2011-01-01 00:08:35 ¦ i
2011-01-01 00:09:33 ¦ 10 ¦ 2011-01-01 00:09:33 ¦ l *
2011-01-01 00:10:35 ¦ 11 ¦ 2011-01-01 00:10:35 ¦ m *
2011-01-01 00:11:29 ¦ 12 ¦ 2011-01-01 00:11:31 ¦ n
lll Przykład 2
TimeStamp1 ¦ Param1 ¦ TimeStamp2 ¦ Param2
2011-01-01 00:00:35 ¦ 1 ¦ 2011-01-01 00:00:35 ¦ a
2011-01-01 00:06:36 ¦ 7 ¦ 2011-01-01 00:06:36 ¦ g
2011-01-01 00:09:33 ¦ 10 ¦ 2011-01-01 00:09:33 ¦ l
2011-01-01 00:10:35 ¦ 11 ¦ 2011-01-01 00:10:35 ¦ m
Dzięki, TIMESTAMPDIFF wykonuje pracę. czasami otrzymuję podwójne wpisy, a ich usunięcie zajmuje dużo czasu.Sprawdzę, czy w tym przypadku konwersja daty jest szybsza. –