[Cascavel-pm] agrupamento e seleção em DBI

Luis Motta Campos luismottacampos em yahoo.co.uk
Quinta Fevereiro 7 01:39:25 PST 2008


OK, isto foi o melhor que eu consegui fazer com o que você me enviou de 
informação. Eu estou muito confuso com o que você chama de INTERSERCT, 
para mim a intersecção é implementada pelo AND (quer dizer, quando você 
satisfaz (COUNT(*) > 1) AND ( id_d IN (1,30) ), ganha um id_d).

DROP TABLE words;
CREATE TABLE words (
   id_d INT(11) PRIMARY KEY AUTO_INCREMENT,
   tfict_t DECIMAL(10,5) NOT NULL DEFAULT 0,
   t VARCHAR(64) NOT NULL DEFAULT ''
);

CREATE INDEX tfict_t_ndx ON words( tfict_t );
CREATE INDEX t_ndx ON words( t );

INSERT INTO words ( tfict_t, t ) VALUES ( -1.96995, 'a' );
INSERT INTO words ( tfict_t, t ) VALUES ( -1.84598, 'e' );
INSERT INTO words ( tfict_t, t ) VALUES ( -1.75295, 'que' );
INSERT INTO words ( tfict_t, t ) VALUES ( -1.75295, 'que' );
INSERT INTO words ( tfict_t, t ) VALUES ( 0.176634, 'Minerva' );

SELECT t, COUNT(*)
FROM words AS w
GROUP BY t;

SELECT w.t, w.tfict_t, w.id_d
FROM words AS w,
   ( SELECT t, COUNT(*) AS count
     FROM words AS wcount
     GROUP BY wcount.t ) AS tcount
WHERE w.t = tcount.t
   AND tcount.count > 1
   AND id_d IN ( 3, 4 )
;

Eu não acredito que isso seja a solução do seu problema. Mas é um 
protótipo em cima do que trabalhar (melhor que a informação que você me 
passou até agora).

O que, exatamente, você está tentando fazer?

Putamplexos!
-- 
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}


Mais detalhes sobre a lista de discussão Cascavel-pm