Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybór odrębnych powiadomień i przygotowanie bardziej przejrzystego komunikatu powiadomienia

Udostępniam tylko tę część zapytania, która rozwiązuje Twoje pierwsze i drugie wymagania przy założeniu, że Twoje dane pozostają w tej samej strukturze. Do zapytania możesz dodać połączenia i inne niezbędne szczegóły.

SELECT myView.*, CONCAT(REPLACE(REPLACE(group_concat(SUBSTRING(notification_message,9)),'</strong>',''),SUBSTRING_INDEX(notification_message,'>',-1),''), SUBSTRING_INDEX(notification_message,'>',-1)) AS Message
FROM (SELECT DISTINCT receiver_id, notification_issuer, notification_message, notification_target, notification_type FROM imgzer_notifications
WHERE receiver_id = 9 and notification_seen = 1 ORDER BY notification_time DESC) myView GROUP BY myView.receiver_id, myView.notification_target, myView.notification_type;

Wiem, że funkcje ciągów wyglądają na skomplikowane, ale aby uzyskać wymagane dane wyjściowe, musiałem poeksperymentować z wygenerowanymi ciągami. Zmodyfikowałem trochę twój zestaw danych w SQL Fiddle, aby sprawdzić moje dane wyjściowe. Możesz zrobić to samo pod adresem:

http://www.sqlfiddle.com/#!2/70a937/49

Daj mi znać na wypadek, gdyby w zapytaniu wystąpiły jakieś inne kryteria lub jakiekolwiek ulepszenie, którego potrzebujesz.



  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, jak zmienić rozmiar pliku-log-innodb

  2. Resetowanie wartości auto-inkrementacji bazy danych MySql za pomocą JPA

  3. Nieprawidłowe użycie UNION i ORDER BY?

  4. Jaka jest różnica między zestawami znaków utf8mb4 i utf8 w MySQL?

  5. Kiedy baza danych jest nazywana jako wbudowana baza danych?