0
假设我们有一个假设表看起来是这样的:Peewee:在选择查询使用count(*)
id color group_id
---------- ------------- ----------
1 red 100
2 blue 101
3 orange 100
4 red 102
5 pink 103
6 red 104
7 orange 104
8 orange 105
我想选择其中包含一套特定的所有颜色组ID的颜色。假设我想要搜索颜色为red
和orange
的组ID。原始SQL查询会是这样的:
SELECT group_id
FROM colors
WHERE color
IN ('red', 'orange')
GROUP BY group_id
HAVING COUNT(*) = 2;
这将返回组ID 100
和104
。什么是Peewee SelectQuery?我无法找到如何表示COUNT(*)
位。
真棒,谢谢你的指针。我最后也得到了类似的解决方案,但在'.having'子句中使用了'fn.Count(fn.Distinct(Colors.id))'。伟大的博客btw! – mart1n