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

MySQL - Запитване за непрочетени съобщения заедно с имейл съобщения

Получен е продължителен имейл и брой непрочетени (получени).

  SELECT e.MAIL_NO, e.BIZ_ID, e.FROM_ADD, e.TO_ADD, e.EMAIL_SUBJECT,  
  DATE_FORMAT(e.UPDATED_DATE,'%d %b %y, %I:%i %p') AS DATE, e.MAIL_STATUS, 
  CONCAT(ufrom.USER_FIRST_NAME,' ',ufrom.USER_LAST_NAME) AS U_NAME,if(UNREAD_MESSAGE_COUNT is null,0,UNREAD_MESSAGE_COUNT) FROM EMAIL e  
LEFT JOIN USER_CONFIG ufrom
 ON ufrom.USER_ID = e.TO_ADD
left join (SELECT COUNT(*) AS UNREAD_MESSAGE_COUNT,TO_ADD FROM EMAIL_MESSAGE         inner join EMAIL using (BIZ_ID)
WHERE MESSAGE_STATUS = 'U' group by TO_ADD) t on t.TO_ADD= e.TO_ADD
WHERE 
 e.TO_ADD=:TO_ADD
ORDER BY MAX(e.UPDATED_DATE) DESC, ufrom.USER_FIRST_NAME DESC 
LIMIT 0, 10 

Изпратени имейли и брой непрочетени изпратени съобщения:

  SELECT e.MAIL_NO, e.BIZ_ID, e.FROM_ADD, e.TO_ADD, e.EMAIL_SUBJECT,  
  DATE_FORMAT(e.UPDATED_DATE,'%d %b %y, %I:%i %p') AS DATE, e.MAIL_STATUS, 
  CONCAT(ufrom.USER_FIRST_NAME,' ',ufrom.USER_LAST_NAME) AS U_NAME,if(UNREAD_MESSAGE_COUNT is null,0,UNREAD_MESSAGE_COUNT) FROM EMAIL e  
LEFT JOIN USER_CONFIG ufrom
 ON ufrom.USER_ID = e.FROM_ADD 
left join (SELECT COUNT(*) AS UNREAD_MESSAGE_COUNT,FROM_ADD FROM EMAIL_MESSAGE         inner join EMAIL using (BIZ_ID)
WHERE MESSAGE_STATUS = 'U' group by FROM_ADD) t on t.FROM_ADD= e.FROM_ADD
WHERE 
 e.FROM_ADD=:FROM_ADD
ORDER BY MAX(e.UPDATED_DATE) DESC, ufrom.USER_FIRST_NAME DESC 
LIMIT 0, 10 

Редактирано:- Добавено Ако count=null е 0 и добавено ляво присъединяване, за да се гарантира показването на резултатите.

редакция 2:Променена подзаявката, така че да брои само непрочетените, изпратени до този потребител.

Редактиране 3:Актуализирана 1-ва заявка и добавена 2-ра заявка в зависимост от необходимите резултати. Това трябва да свърши работа. Вероятно искате първия.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как бързо да сортирате отново MySQL таблица по една от колоните?

  2. Управлявайте MySQL с phpMyAdmin на Ubuntu 9.10 (Karmic)

  3. JSON_REPLACE() – Замяна на стойности в JSON документ в MySQL

  4. Бройте от таблица, но спрете да броите на определено число

  5. Пинг на MySQL сървър