php - 选择用户喜欢的推文中的所有喜欢

标签 php mysql sql

因此,正如您在标题中所看到的,我正在寻找如何找到所有点赞的推文,然后将点赞的用户添加到此查询中,而不会丢失点赞的总结果。

这是我的喜欢表。

SELECT COUNT(*) 
from likes INNER JOIN tweets ON likes.id_tweet = tweets.id 
GROUP BY likes.id_tweet;
+----------+---------+------+-----+---------+----------------+
| Field    | Type    | Null | Key | Default | Extra          |
+----------+---------+------+-----+---------+----------------+
| id       | int(11) | NO   | PRI | NULL    | auto_increment |
| id_user  | int(11) | NO   | MUL | NULL    |                |
| id_tweet | int(11) | NO   | MUL | NULL    |                |
+----------+---------+------+-----+---------+----------------+

When I run this query, I can get all the likes :

SELECT COUNT(*) 
from likes INNER JOIN tweets ON likes.id_tweet = tweets.id 
GROUP BY likes.id_tweet;

像这样:

+----------+
| COUNT(*) |
+----------+
|        1 |
|        4 |
|        1 |
|        1 |
|        2 |
|        1 |
|        1 |
|        1 |
|        1 |
|        2 |
|        1 |
|        1 |
|        3 |
|        1 |
|        1 |
|        1 |
|        1 |
|        1 |
|        1 |
|        1 |
|        3 |
|        2 |
|        1 |
|        1 |
|        2 |
|        1 |
|        3 |
|        1 |
|        1 |
|        1 |
|        3 |
|        3 |
|        2 |
+----------+

我得到了所有的喜欢,但是当我添加

 where likes.id_users = ... 
我只为一个用户点赞而失去了所有点赞,具体来说,我想恢复用户点赞的所有推文的点赞。

像这样

+-----------+----+----------+-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------------+--------+---------------------+
| all likes | id | id_reply | id_poster | id_retweet | text                                                                                                                                         | id_img | tweet_date          |
+-----------+----+----------+-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------------+--------+---------------------+
|         50 |  2 |     NULL |      1714 |       NULL | Mon premier tweet                                                                                                                            |   NULL | 2019-01-23 14:25:24 |
|         43 | 35 |     NULL |      1752 |       NULL | Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus. P |   NULL | 2018-04-29 00:00:00 |
|         22 | 50 |     NULL |      1908 |       NULL | In congue. Etiam justo. Etiam pretium iaculis justo. In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.                |   NULL | 2018-05-23 00:00:00 |
+-----------+----+----------+-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------------+--------+---------------------+

谢谢

最佳答案

试试这个:

SELECT COUNT(*), GROUP_CONCAT(likes.[id_user])
from likes INNER JOIN tweets ON likes.id_tweet = tweets.id 
GROUP BY likes.id_tweet;

关于php - 选择用户喜欢的推文中的所有喜欢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54360729/

相关文章:

php - 我正在用 PHP 生成一个 word 文档,如何进行分页?

mysql - 分配给 crontab 时 Linux 备份 MySQL 失败

mysql - 从另一个选择语句更新表

mysql - 错误代码 : 1054. 'field list' 中的未知列

从列中查找大写单词的 SQL

javascript - 在 Cloud9IDE 上用 PHP 创建新文件

php -\n 和 PHP_EOL 在 PHP 中有什么好处?

php - Apache mod_deflate 不压缩 json 输出

PHP 表单不将信息保存到 SQL 数据库

sql - 在 postgres 中从复合类型转换到复合类型