gpt4 book ai didi

php - ZF 1 Mysql WHERE IN查询

转载 作者:行者123 更新时间:2023-11-29 05:27:03 26 4
gpt4 key购买 nike

我有一个简单的查询,但我一辈子也想不通。

我有一个包含“thread_id”和“messages”列的(简化的)“messages”表

我还有一个线程列表,每个线程需要 10 个结果。

$list = "1,2,3,4";

我会做 $db->select()->from("messages")->where("thread_id IN ('?')",$list)->limit(10);

但这只限制了总数中的 10 个,我如何在 ZF 1.11 查询方法中从每个 thread_id 中提取 10 个?

最佳答案

你可以使用这个查询得到想要的结果

 SELECT * FROM 
(SELECT i1.*
FROM threadmessage i1
LEFT JOIN threadmessage i2
ON (i1.threadid = i2.threadid
AND i1.messageid < i2.messageid
)
GROUP BY i1.messageid
HAVING COUNT(*) < 5
ORDER BY i1.messageid) A
WHERE A.threadid IN (3,4);

我创建了一个 SQL fiddle

您也可以使用query 方法在aend 中执行它。

$stmt = $db->query($sql);
$result = $stmt->fetchAll();

这是典型的“每组 N 个”类型的查询。您可以从这些帖子中获取更多详细信息

How do I select multiple items from each group in a mysql query?
How to SELECT the newest four items per category?
Retrieving the last record in each group

关于php - ZF 1 Mysql WHERE IN查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18951144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com