Я работал над вопросом SQL в базе данных, используя MySQL. Цель состоит в том, чтобы найти все идентификаторы, которые удовлетворяют сегодня теплее, чем вчера. Я покажу вам мой оригинальный код, который прошел 2 из 3 тестовых случаев, а затем пересмотренный код, который удовлетворяет всем 3.
В чем функциональная разница между этими двумя? Это MySQL вещь, код leetcode или что-то еще?
Оригинал
SELECT DISTINCT w2.id
FROM weather w1, weather w2
WHERE w2.RecordDate = w1.RecordDate +1 AND w2.temperature > w1.temperature
Пересмотренный
SELECT DISTINCT w2.id
FROM weather w1, weather w2
WHERE DATEDIFF(w2.RecordDate,w1.RecordDate) =1 AND w2.temperature > w1.temperature
Единственное отличие заключается в использовании DATEDIFF
или использование w2.recordDate = w1.recordDate + 1
.
Я хотел бы знать, в чем разница между этими двумя?
Редактировать: вот проблема L C https://leetcode.com/problems/rising-temperature/