在我的Mysql语句中包含GROUP BY id

时间:2014-12-17 04:19:56

标签: php html sql mysqli

我已经实现了一个过滤我的表的解决方案,但它也让我失去了我想要的主要功能之一。 GROUP BY ID DESC所以最新发布在顶部。

第一次查看没有任何过滤器的表时,我希望它也是GROUP BY ID DESC,但过滤器的设置方式我不能这样做。有办法解决吗?我的代码在

之下
<?php 
// Check connection
require '../inc/connection.php';
//Select All from Game
$result_else = "SELECT * FROM game WHERE listDate >= NOW() - INTERVAL 1440 MINUTE ";

//Search Function
if (isset($_POST['search'])) {
$search_term = mysqli_real_escape_string($con, $_POST['search_box']);   
$result_else .= "AND Region LIKE'%{$search_term}%'";
$result_else .= "OR gameType LIKE'%{$search_term}%' GROUP BY id DESC LIMIT 25";
}

?>

如果我希望没有任何过滤器的表的原始视图具有GROUP BY ID DESC LIMIT 25将如何完成?

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

是的,可以做到

$result_else = "SELECT * FROM game WHERE listDate >= NOW() - INTERVAL 1440 MINUTE ";

//Search Function
if (isset($_POST['search'])) {
    $search_term = mysqli_real_escape_string($con, $_POST['search_box']);   
    $result_else .= "AND Region LIKE'%{$search_term}%'";
    $result_else .= "OR gameType LIKE'%{$search_term}%' ";
}
// $result_else .= "GROUP BY id DESC LIMIT 25";
$result_else .= "ORDER BY id DESC LIMIT 25";

但不确定是否要求GROUP BYORDER BY

GROUP BY对内容进行分组。

ORDER BYascdesc订单

命令内容

答案 1 :(得分:0)

也许它可以帮到你:

<?php
// Check connection
require '../inc/connection.php';
//Select All from Game
$result_else = "SELECT * FROM game WHERE listDate >= NOW() - INTERVAL 1440 MINUTE ";

//Search Function
if (isset($_POST['search'])) {
    $search_term = mysqli_real_escape_string($con, $_POST['search_box']);
    $result_else .= " AND Region LIKE'%{$search_term}%'";
    $result_else .= " OR gameType LIKE'%{$search_term}%' GROUP BY id DESC";
}
$result_else .= " ORDER BY id LIMIT 25";

?>