MySQL选择分组依据,且不为空

MySQL选择分组依据,且不为空,mysql,sql,Mysql,Sql,我有这张桌子 CREATE TABLE title (`id` int, `title` varchar(16), `author` varchar(6), `city` varchar(8), `year` int, `pageId` varchar(4), `page` int); INSERT INTO title (`id`, `title`, `year`, `pageId`, `page`) VALUES (1, 'A',

我有这张桌子


    CREATE TABLE title
    (`id` int, `title` varchar(16), `author` varchar(6), `city` varchar(8), `year` int, `pageId` varchar(4), `page` int);

   INSERT INTO title
       (`id`, `title`, `year`, `pageId`, `page`)
   VALUES
       (1, 'A', 1951, '20', 1),
       (2, 'A',  1951, '99', 2),
       (3, 'A',  1951, '101', 3),
       (4, 'A',  1951, NULL, 4),
       (5, 'B',  1937, '200', 76),
       (6, 'B',  1937, '201', 73),

       (7, 'C',  1951, '4', 32),
       (8, 'C',  1951, NULL, 32),

    (9, 'D',  1937, '6', 74)
;
我需要选择id 6和9

选择“按标题分组”,如果任何记录中的pageId不为空,请尝试此操作

SELECT 
   t1.id, t1.title, t1.year, t1.pageId, t1.page
  FROM 
   title t1
  WHERE 
    t1.pageId IS NOT NULL AND (t1.id = 6 OR t1.id = 9) 
  GROUP BY t1.title

你想根据什么进行分组?group by仅在select语句中使用聚合函数时使用。您能否通过添加所需的结果集进行详细解释。我需要选择pageId不为null的标题。在这种情况下,我不需要标题A,因为4中的pageId为null,但我需要标题B,因为不为null并从B中选择。6我已在我的机器上尝试过,它工作正常。你能告诉我你犯了什么错误吗。查看附加的屏幕截图::tinyurl.com/yy5gee9a我猜是因为这是MySQL。您可以尝试在任何其他dbms中运行它,看看它是否运行。代码在逻辑上没有意义。任何非聚合列都必须位于GROUP BY中。在这种情况下,如果您按t1.title进行分组,如果有多个ti.pageId,那么包括哪一个?