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

Returnerer alle rækker med visse betingelser

Du er tæt på, en simpel UNION ALL skal gøre, hvad du vil;

SELECT MAX(del_time), COUNT(*) cnt, MAX(subject) subject FROM (
  SELECT to_delete del_time, thread_hash, subject
  FROM messages
  WHERE to_user_id = 27 AND `to_delete` >= SUBDATE(NOW(), INTERVAL 720 HOUR)
  UNION ALL
  SELECT from_delete del_time, thread_hash, subject
  FROM messages
  WHERE from_user_id = 27 AND `from_delete` >= SUBDATE(NOW(), INTERVAL 720 HOUR)
) a
GROUP BY thread_hash;

Den modificerede SQLfiddle til test .




  1. Grundlæggende administration Sammenligning mellem Oracle, MSSQL, MySQL, PostgreSQL

  2. Python Twisted og databaseforbindelser

  3. Gentagne MySQL-forespørgsler fra Python returnerer de samme data

  4. 2 måder at oprette en database på en sammenkædet server ved hjælp af T-SQL