php - 使用 SQL 和 PHP 对数据进行分组

标签 php mysql sql

我有一个类似这样的表:

Lecture_ID | Subject | Section | time_Date

0001       | Maths   |  A      | ....
0002       | Maths   |  B      | ....
0003       | Maths   |  C      | ....
0004       | Maths   |  B      | ....

我希望数据应按部分分组,以便当我 echo 时输出数据,应该是这样的:

Section A
time_Date
time_Date

Section B
time_Date
time_Date
...

我怎样才能实现查询来做这样的事情..我所拥有的就像

$query = 'SELECT * FROM Lecutre_info WHERE Subject="'.$_GET['subject'].'" ORDER BY Section ASC';
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)) {

print '<h1>'.$row['Section']
print '<br>'.$row['time_Date'];

}

你可以想象我有Section每一条记录。我如何将条目分组在一起。另外,我不知道事先会有多少部分,并且部分可以从任何字母开始,不一定是“A”。所以例如可能有一门科学课,其中有 1 个部分名为 X。谢谢...

最佳答案

下面的sql将输出你想要的内容:

参见 fiddle :http://sqlfiddle.com/#!2/ea7f7b/21/0

select case when length(section) = 1 then
               concat('Section ',section)
            else substring_index(section, '/', -1)
            end as result
  from (select distinct section
          from tbl
        union all
        select concat(section, '/', dt)
          from tbl
         order by 1) x

关于php - 使用 SQL 和 PHP 对数据进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24974585/

相关文章:

php - 未知列错误,即使表中显然存在相同名称的列

mysql - 干式插入以检查索引冲突

php - 如果 csv 值为 null,则插入 null 或其他内容

php 类型转换和数组引用

php - 在 WooCommerce 管理产品列表中设置 "number of items per page"的默认值

java - 如何从html文本框在mysql表中插入记录?

PHP 选择所有数据及其所有子数据(嵌套查询)

php - 这个查询有什么问题?我正在尝试根据第二个表中列的值更新列值

mysql - 查询所有活跃贷款的每日未偿还金额

用于将一个表的行聚合到另一个表的 MySQL 触发器