Вы можете просто использовать логическое выражение:
SELECT (count(*) = 2) AS exist2
FROM MeteoForecast mf
WHERE MF.localization_id = 22 AND
DATE(MF.start_date) = DATE('2019-03-02') ;
Это выражение фактически возвращает истину как «1» и ложь как «0».Это числовые эквиваленты логических значений true и false в MySQL.
Предполагая, что start_date
имеет компонент времени, вы должны написать это как:
SELECT (count(*) = 2) AS exist2
FROM MeteoForecast mf
WHERE MF.localization_id = 22 AND
MF.start_date >= '2019-03-02' AND
MF.stara_date < '2019-03-03' ;
Это может использовать индекс на MeteoForecast(localization_id, start_date)
, поэтому он может быть намного быстрее.