sql >> Database teknologi >  >> RDS >> Mysql

MariaDB forkert rækkefølge, men korrekt i MySQL

> SELECT NULLIF('2015-11-19 15:08:22', 0); +----------------------------------+ | NULLIF('2015-11-19 15:08:22', 0) | +----------------------------------+ | 2015-11-19 15:08:22 | +----------------------------------+ 1 row in set, 1 warning (0.00 sec) > SHOW WARNINGS; +---------+------+---------------------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2015-11-19 15:08:22' | +---------+------+---------------------------------------------------------+ 1 row in set (0.00 sec) > SELECT NULLIF('2015-11-19 15:08:22', '0000-00-00 00:00:00'); +------------------------------------------------------+ | NULLIF('2015-11-19 15:08:22', '0000-00-00 00:00:00') | +------------------------------------------------------+ | 2015-11-19 15:08:22 | +------------------------------------------------------+ 1 row in set (0.00 sec)

Prøv:

SELECT
   e.id,
   e.dt_competition_last_manual_check,
   MAX(ec.dt_created) as m,
   # GREATEST always return NULL if present among arguments
   NULLIF(
      GREATEST(
         COALESCE(MAX(ec.dt_created), '0000-00-00 00:00:00'),
         COALESCE(e.dt_competition_last_manual_check, '0000-00-00 00:00:00')
      )
   , '0000-00-00 00:00:00') AS most_recent_dt_created_or_checked
FROM `estates` AS `e` 
   LEFT JOIN `estates` AS `ec` ON e.id = ec.estates_id_duplicate 
WHERE e.server = 'esk' 
GROUP BY `e`.`id` 
ORDER BY most_recent_dt_created_or_checked DESC;
 



  1. Opdaterer kolonne til standardværdien ved hjælp af SQLAlchemy

  2. Hvad er forskellen mellem RANK() og DENSE_RANK() funktioner i oracle?

  3. kan ikke oprette forbindelse til mysql på AWS RDS (fejl 2003)

  4. Sådan øges antallet af forekomster af kolonneværdi i MySQL