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


Include GROUP BY id In my Mysql Statement

我已经实现了一个解决方案来过滤我的表格,但它也让我失去了我想要的主要功能之一。按 ID 描述分组,因此最新的内容发布在顶部。

第一次查看没有任何过滤器的表格时,我希望它也按 ID 描述分组,但过滤器的设置方式我无法做到。有什么方法可以解决它吗?我的代码如下

<?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";
}
?>

如果我希望没有任何过滤器的表的原始视图具有按 ID 描述限制 25 分组,这将如何完成?

感谢您的任何帮助

是的,可以做到

$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 BY还是ORDER BY

GROUP BY对内容进行分组。

ORDER BYascdesc顺序对内容进行排序

也许它可以帮助你:

<?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";
?>