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

Vælg forskellige meddelelser og forberede en klarere meddelelse

Jeg deler kun forespørgselsdelen, som løser dit første og andet krav, forudsat at dine data forbliver i den samme struktur. Du kan tilføje joinforbindelserne og andre nødvendige detaljer i din forespørgsel.

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;

Jeg ved, at String-funktionerne ser komplicerede ud, men for at nå frem til dit nødvendige output, var du nødt til at lege med de genererede Strings. Jeg har ændret dit datasæt i SQL Fiddle lidt for at tjekke mit output. Du kan gøre det samme på:

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

Fortæl mig det, hvis der er nogle andre kriterier, der skal opfyldes, eller en forbedring, du har brug for i forespørgslen.



  1. Hvordan kan jeg korrekt bruge et PDO-objekt til en parameteriseret SELECT-forespørgsel

  2. hvordan man indstiller længden af ​​en kolonne i dvale med maksimal længde

  3. SQL Tilslut samme tabel baseret på tidsstempel og lagerniveau

  4. Kroniske uaktuelle resultater ved hjælp af MySQLdb i Python