Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql查询组按where条件限制1_Mysql - Fatal编程技术网

Mysql查询组按where条件限制1

Mysql查询组按where条件限制1,mysql,Mysql,我在数据库中有一个名为“articles”的表 文章: id +++ writer_id +++ title ++++ text ---------------------------------------------------- 1 1 some title article for writer 1 2 1 some title arti

我在数据库中有一个名为“articles”的表

文章:

id +++   writer_id    +++     title     ++++    text
----------------------------------------------------
1           1              some title        article for writer 1 
2           1              some title        article for writer 1 
3           2              some title        article for writer 2 
4           2              some title        article for writer 2 
5           2              some title        article for writer 2
6           3              some title        article for writer 3
我需要一个查询来从表中获取最新的文章,但每个作者只需要一篇文章

取决于上面的行,查询应仅获取3行: 每篇文章由一位作者所有

2           1              some title        article for writer 1 
5           2              some title        article for writer 2
6           3              some title        article for writer 3
php


提前感谢:)

结合使用
分组依据和
拥有将允许您获得每位作者撰写的最后一篇文章,并正确订购:

SELECT * 
FROM articles
WHERE writer_id = ????
GROUP BY writer_id
HAVING id = MAX(id)
ORDER BY id DESC
LIMIT 10

使用子查询获取每个作者的最新文章id:

SELECT * FROM articles
WHERE id in
(
    SELECT MAX(id) id, writer_id
    FROM articles
    GROUP BY writer_id
)
又短又甜:

SELECT MAX(id), writer_id, title, text FROM articles GROUP BY writer_id;

这实际上不会将正确的文章文本和标题与正确的日期关联起来(但它似乎与这里给出的示例数据有效,因为标题和文本是重复的)。请参阅以获得更好的解决方案。
SELECT MAX(id), writer_id, title, text FROM articles GROUP BY writer_id;