如何使用cake php或php在单个查询中获得帖子的喜欢和不喜欢计数
我已经研究了一天,但我没有得到解决方案。如果有可能得到他喜欢和不喜欢的所有文章计数使用单一的CakePHP查询 表结构如何使用cake php或php在单个查询中获得帖子的喜欢和不喜欢计数,php,mysql,sql,cakephp,cakephp-3.0,Php,Mysql,Sql,Cakephp,Cakephp 3.0,我已经研究了一天,但我没有得到解决方案。如果有可能得到他喜欢和不喜欢的所有文章计数使用单一的CakePHP查询 表结构 id user_id posts_id like_and_dislike 1 1 1 1 2 2 1 1 3 4 1 0 4 5 2 1 在这里,我们需要得到所有帖子的喜欢和不喜欢计数 发布1喜欢->2和不喜欢->
id user_id posts_id like_and_dislike
1 1 1 1
2 2 1 1
3 4 1 0
4 5 2 1
在这里,我们需要得到所有帖子的喜欢和不喜欢计数
发布1喜欢->2和不喜欢->1,发布-2喜欢->1和不喜欢->0
需要列出计数。请在此查询中提供任何帮助。如果不可能,请在php查询中提供帮助
行为
在同一查询中获取计数,效率较低
你有两个选择
行为
在同一查询中获取计数,效率较低
我想你需要这个
SELECT post_id,
COUNT( CASE WHEN like_and_dislike = 1 THEN 1 END ) AS like_cnt,
COUNT( CASE WHEN like_and_dislike = 0 THEN 1 END ) AS dislike_cnt
FROM your_table
GROUP BY post_id
-- ORDER BY something
-- LIMIT x, y
我想你需要这个
SELECT post_id,
COUNT( CASE WHEN like_and_dislike = 1 THEN 1 END ) AS like_cnt,
COUNT( CASE WHEN like_and_dislike = 0 THEN 1 END ) AS dislike_cnt
FROM your_table
GROUP BY post_id
-- ORDER BY something
-- LIMIT x, y
使用该表数据,预期结果是什么?以及格式良好的文本。还显示您当前的查询尝试。我需要输出为{[{posts_id:1,likes:2,loke:1},{posts_id:2,likes:1,loke:null}]}并且我尝试了sql查询分词器post 14,但我需要列出所有posts SELECT*,SELECT COUNT*,来自用户_like_posts,其中posts_id=14,like_或_loke='0'按realtime_id分组为loke,选择COUNT*FROM users\u like\u posts,其中realtime\u id=14,like\u or\u have='1'groupby realtime\u id作为postlike FROM users\u like\u posts用户的内部连接posts\u like\u posts.posts\u id=posts.id其中posts\u id=14 groupby posts\u id使用该表数据,预期结果是什么?以及格式良好的文本。还显示您当前的查询尝试。我需要输出为{[{posts_id:1,likes:2,loke:1},{posts_id:2,likes:1,loke:null}]}并且我尝试了sql查询分词器post 14,但我需要列出所有posts SELECT*,SELECT COUNT*,来自用户_like_posts,其中posts_id=14,like_或_loke='0'按realtime_id分组为loke,选择COUNT*FROM users_like_posts,其中realtime_id=14,like_or_have='1'groupby realtime_id作为postlike FROM users_like_posts内部连接posts关于users_like_posts.posts_id=posts.id其中posts_id=14 GROUP BY posts_id在文档中有一个非常准确的例子:@ndm-我从来没有看过cakephph文档,虽然这对我来说并不奇怪,但也有类似的例子,因为这种SQL方法在类似的情况下非常常见this@OtoShavadze还有一个问题是如何使用此限制query@RaghulRajendran-你需要什么来限制,请告诉我更多clearly@OtoShavadze查询返回的值数组没有问题。我需要自定义限制数组,例如SELECT*FROM Orders limit 30,以实现对结果的分页。这里有一个非常准确的示例,在文档中顺便说一句:@ndm-我从未看过cakephph文档,虽然这对我来说并不奇怪,但也有类似的例子,因为这种SQL方法在类似的情况下非常常见this@OtoShavadze还有一个问题是如何使用此限制query@RaghulRajendran-你需要什么来限制,请告诉我更多clearly@OtoShavadze查询返回的值数组在这方面没有问题。我需要自定义限制数组,例如SELECT*FROM Orders limit 30,以实现对结果的分页