Informatie van je database.

MySQL, FireBird, MSSQL, etc..
Gebruikersavatar
Wout
Moderator
Berichten: 3231
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Informatie van je database.

Ongelezen bericht door Wout » 17 aug 2014, 20:59

Ben bezig om een optimale playlist-setting te maken voor SAM.
Hierbij word in elke categorie de optimale settings bepaald voor album, artiest & titel.
De PAL zelf laat nog even op zich wachten. ;)
Ik moet er een nieuwe functie voor schrijven voor de EnForceRules.

Maar je kan alvast je database voor bereiden.

Code: Selecteer alles

// eenmalig uitvoeren in je database
ALTER TABLE category ADD COLUMN album_min INT DEFAULT NULL, ADD COLUMN artist_min INT DEFAULT NULL, ADD COLUMN title_min INT DEFAULT NULL ;
 
Dit kan je steeds uitvoeren als je nieuwe muziek toevoegt.
Dan bereken hij weer de optimale setting.

Code: Selecteer alles

UPDATE
  category
CROSS JOIN (
    SELECT
      category.ID as B,
      name,
      FLOOR(AVG(duration)/60000) * COUNT(DISTINCT(album)) AS album_minuten,
      FLOOR(AVG(duration)/60000) * COUNT(DISTINCT(artist)) AS artist_minuten,
      FLOOR(AVG(duration)/60000) * COUNT(DISTINCT(title)) AS title_minuten
    FROM
      category, categorylist, songlist
    WHERE
      category.ID = categorylist.categoryID
    AND
      categorylist.songID = songlist.ID
    GROUP BY
      category.name
      ) AS A
SET
  album_min = album_minuten,
  artist_min = artist_minuten,
  title_min = title_minuten
WHERE
  ID = B; 
Afbeelding

Gebruikersavatar
Wout
Moderator
Berichten: 3231
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Informatie van je database.

Ongelezen bericht door Wout » 17 aug 2014, 22:02

Nog eentje, die al een tijdje op mijn verlanglijstje staat.
Onderstaande code spilt de artiest met feat. gebeuren.

Code: Selecteer alles

SELECT artist,
SUBSTRING_INDEX(artist,'feat.',1) AS artist1,
SUBSTRING_INDEX(SUBSTRING_INDEX(artist,'feat.',2),'feat.',-1) AS artist2
FROM songlist
WHERE artist like '%feat.%'; 
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Afbeelding

Gebruikersavatar
Wout
Moderator
Berichten: 3231
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Informatie van je database.

Ongelezen bericht door Wout » 13 sep 2015, 16:27

Het probleem wat bij mij voordoet is dat dezelfde nummer meerdere malen in één categorie staat.
Dat komt omdat ik het ooit meerdere keren erin hebt gesleept.
De onderstaande code haalt de dubbele songID`s eruit van al je categorieën.

Code: Selecteer alles

DELETE FROM categorylist WHERE ID IN 
(SELECT * FROM (SELECT ID FROM categorylist GROUP BY songID, categoryID HAVING COUNT(songID) > 1) AS t) ; 
Afbeelding

Gebruikersavatar
Wout
Moderator
Berichten: 3231
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Informatie van je database.

Ongelezen bericht door Wout » 27 aug 2018, 12:15

Hierbij een uitdraai van de oudste gedraaide nummer per categorie.

Code: Selecteer alles

SELECT t.ID, c.name, t.artist, t.title, r.MaxTime, datediff(r.MaxTime, now()) verschil
FROM (
      SELECT songID, categoryID, min(date_played) as MaxTime
      FROM songlist a, categorylist b 
        WHERE a.ID = b.songID 
      GROUP BY categoryID
      ORDER BY maxtime
) r
INNER JOIN songlist t ON t.date_played = r.MaxTime 
INNER JOIN category c ON c.ID = r.categoryID
WHERE c.parentID = 0 ; 
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Afbeelding

renem
**
Berichten: 28
Lid geworden op: 09 jan 2018, 07:33
SAM-versie: 4.9.0.*
Database: MySQL 5.6
Windows: 7 32-bits

Re: Informatie van je database.

Ongelezen bericht door renem » 27 aug 2018, 12:25

Wout schreef:Hierbij een uitdraai van de oudste gedraaide nummer per categorie.
Deze werkt bij mij niet, krijg 0 resultaten, Zou dit met alles versies van Sam moeten werken?

Gebruikersavatar
Wout
Moderator
Berichten: 3231
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Informatie van je database.

Ongelezen bericht door Wout » 27 aug 2018, 12:39

renem schreef:
Wout schreef:Hierbij een uitdraai van de oudste gedraaide nummer per categorie.
Deze werkt bij mij niet, krijg 0 resultaten, Zou dit met alles versies van Sam moeten werken?
Jazeker.
Gebruik je MySQL? en zo ja welke versie?
Afbeelding

renem
**
Berichten: 28
Lid geworden op: 09 jan 2018, 07:33
SAM-versie: 4.9.0.*
Database: MySQL 5.6
Windows: 7 32-bits

Re: Informatie van je database.

Ongelezen bericht door renem » 27 aug 2018, 12:40

Wout schreef:
renem schreef:
Wout schreef:Hierbij een uitdraai van de oudste gedraaide nummer per categorie.
Deze werkt bij mij niet, krijg 0 resultaten, Zou dit met alles versies van Sam moeten werken?
Jazeker.
Gebruik je MySQL? en zo ja welke versie?
Ik gebruik MariaDB 10

Gebruikersavatar
Wout
Moderator
Berichten: 3231
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: SAM 2018.10
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Informatie van je database.

Ongelezen bericht door Wout » 11 dec 2018, 21:58

renem schreef: Ik gebruik MariaDB 10
*kuch* kijk even naar de voorwaarde in de beginpost. database/informatie-van-database-t5016.html#p30904 :D
Afbeelding

Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht