Mysql
 sql >> база данни >  >> RDS >> Mysql

Връщане на всички редове с определени условия

Близо сте, просто UNION ALL трябва да правите каквото искате;

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;

Промененият SQLfiddle за тестване .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Операнд трябва да съдържа 1 колона - MySQL НЕ В

  2. Интелигентна MySQL GROUP BY за потоци от дейности

  3. Проблем с пула за връзки

  4. Достатъчно добър ли е кандидат ключовият детерминант за BCNF?

  5. Как да използвам regexp за резултатите от подзаявка?