sql >> Databasteknik >  >> RDS >> Mysql

Returnerar alla rader med vissa villkor

Du är nära, en enkel UNION ALL ska göra vad du vill;

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 modifierade SQLfiddle för testning .




  1. Kalender i Zend Framework

  2. MySQL - uppdaterar alla poster för att matcha maxvärdet i gruppen

  3. Hur LCASE()-funktionen fungerar i MySQL

  4. mysql ersätt till alternativ