我有一个表,其中包含已保存到ORM数据库中的消息。我有一个消息表和Users表,用于获取和保存值。
这是我的SQL查询:
Select DISTINCT ch.user AS _id,
con.name,
con.image,
con.color,
con.contact_id
from messages ch
inner join users con
on con.phone = ch.user
order by ch.timestamp ASC
我在messages表中也有一个布尔字段状态。我想得到status = false
的所有行的计数。
可以将它集成到我上面准备的查询中,这样我就可以在一个查询中获得所有结果吗?或者我是否需要执行另一个来获取行数?
答案 0 :(得分:0)
您可以使用子选择(选中this Fiddle):
Select DISTINCT ch.user AS _id,
con.name,
con.contact_id,
(SELECT COUNT(*)
FROM messages ch2
WHERE status = false AND ch.user = ch2.user) AS MY_COUNT
from messages ch
inner join users con
on con.phone = ch.user
order by ch.timestamp ASC;
或者您从选择的结果中选择,在性能方面可能更好。