All pastes #71775 Raw Edit

JonA

public text v1 · immutable
#71775 ·published 2006-06-26 03:56 UTC
rendered paste body
CREATE TABLE `table1` (
  `threadid` int(10) unsigned NOT NULL default '0',
  `userid` int(10) unsigned NOT NULL default '0',
  `cntry` char(3) NOT NULL default '',
  `cntryLONG` varchar(255) NOT NULL default '',
  `name` text NOT NULL,
  `status` tinyint(2) NOT NULL default '1',
  `secforum` int(11) NOT NULL default '0',
  PRIMARY KEY  (`threadid`)
) TYPE=MyISAM;

INSERT INTO `table1` VALUES (1, 2, ,'Es', 'Spain', 'example1', 0, 0);
INSERT INTO `table1` VALUES (2, 2, ,'Es', 'Spain', 'example1', 0, 1);
INSERT INTO `table1` VALUES (3, 1, ,'Us', 'United States', 'example2', 0, 1);
INSERT INTO `table1` VALUES (79, 4, ,'Gb', 'United Kingdom', 'example2', 0, 0);
INSERT INTO `table1` VALUES (6, 1, ,'Us', 'United States', 'example3', 0, 1);


SELECT thread.threadid, table1.threadid, table1.name, table1.cntry, table1.cntryLONG, table1.secforum FROM `table1`, `thread` WHERE forumid = 13 AND thread.threadid = table1.threadid OR forumid = 25 AND thread.threadid = table1.threadid GROUP BY name ORDER BY table1.threadid DESC LIMIT 0,50

-- Solution with MySQL 4.1 or better:

SELECT table1.threadid
     , table1.name
     , table1.cntry
     , table1.cntryLONG
     , table1.secforum
  FROM table1
  JOIN (
     SELECT table1.name
          , MAX(table1.secforum) secforum
       FROM table1
      GROUP BY name
  ) v1 ON table1.name=v1.name
      AND table1.secforum=v1.secforum
;