我正在尝试创建一个基本的评论系统,我很成功,但我现在遇到了问题。
我无法列出“最喜欢的”评论,我也不知道我该怎么做。
我的投票数据库显示如下:
voteid | value | entryid | userid
25 | like | 257 | 17
24 | like | 257 | 17
23 | unlike | 257 | 18
我用这段代码创建了一个新的:
$vote = $connect->prepare("INSERT INTO votes (entryid, userid, value) VALUES (:entryid, :userid, :value)");
$vote->bindParam(':entryid', $entryid);
$vote->bindParam(':userid', $userid);
$vote->bindParam(':value', $value);
$vote->execute();
我的问题。
我的SQL查询 是什么?
我试过这样:
$bestliked = $connect->prepare("SELECT * FROM votes");
$best = $bestliked->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_COLUMN, 2);
但是我无法列出具有最多子阵列的数组。似乎只是;
[1] => Array
(
[0] => 8
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 9
[8] => 10
[9] => 11
[10] => 12
[11] => 13
[12] => 14
[13] => 15
)
[2] => Array
(
[0] => 16
)
[3] => Array
(
[0] => 17
)
全部谢谢!
答案 0 :(得分:1)
您可以尝试对组计数求和并按降序排序:
Select *,count(*) as sum group by entryid where value='like' order by sum desc