Visualizzazione dei risultati da 1 a 2 su 2

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    28

    Select ultimi 3 risultati ogni riga

    Salve a tutti!

    Sto cercando di progettare un piccolo sistema per gestire le collezioni di oggetti all'interno di un mio programmino in php

    in allegato metto le 2 tabelle

    la prima tabella sono la lista di tutti gli oggetti identificabili tramite la colonna threadidcollection

    la seconda tabella sono le collezioni , solitamente faccio un join sulle 2 tabelle incrociando codecollection (prima tabella) con idnamecollection (seconda tabella)

    ora qui ho un dilemma , io vorrei una query che mi tira fuori solamente 3 oggetti per ogni collezione (tutti gli ogggetti diversi si identificano da threadidcollection)

    è possibile farlo con un colpo solo?
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    28
    dopo ore ore e ancora ore di ricerche ho risolto così:

    codice:
    SELECT * FROM (
    SELECT 
    CASE
    WHEN @id != t.idnamecollection THEN @row_num := 1
    ELSE @row_num := @row_num + 1
    END AS rownum,  
    ct.threadidcollection,
    idnamecollection, namecollection, useriddetail,@id := t.idnamecollection  FROM `0mastertol1_collection_details` t
    LEFT JOIN `0mastertol1_collection` ct ON ct.codecollection = t.idnamecollection
    JOIN (SELECT @id := NULL, @row_num := 0) a  
    ) r
    WHERE rownum < 4
    AND r.useriddetail = 4
    Praticamente con il CASE in una subquery creo un contatore(si incrementa quando vede oggetti della stessa collezione) , fuori dalla subquery verifico che quel contatore non superi il numero di oggetti per collezione che voglio estrarre.


    ho paura solo di aver messo qualche porzione di codice di troppo non essendo esperto di mysql..

    Spero di essere stato abbastanza chiaro nella spiegazione magari l'ho esposta troppo difficile...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.