获取从MySql数据库分组的日期结果

时间:2015-06-08 10:53:57

标签: php mysql sql

我想从Mysql表中选择数据作为分组数据。我在MySql数据库中有一个如下表。

+-----------------------+
|   date         name   |
+-----------------------+
| 12/02/2015   computer |
| 12/02/2015   mouse    |
| 12/02/2015   Book     |
| 13/02/2015   Paper    |
| 13/02/2015   Pen      |
| 13/02/2015   Pencil   |
+-----------------------+

我想显示如下数据。

+---------------+
| date          |
+---------------+
| 12/02/2015    |
+---------------+
| name          |
+---------------+
| computer      |
| mouse         |
| Book          |
+---------------+
| date          |
+---------------+
| 13/02/2015    |
+---------------+
| name          |
+---------------+
| Paper         |
| Pen           |
| Pencil        |
+---------------+

我需要查询。感谢

更新

我不想使用group_concat()。我认为还有其他方法可以做到这一点。 group_concat()有一些限制,因为它可以连接一定数量的文本,我正面临着这类问题。

我认为这里有一些解决方案MySQL Query with Group By

由于

2 个答案:

答案 0 :(得分:0)

使用GROUP BY条件SQL函数来执行此任务。它会按日期对查询结果进行分组,因此您将按日期排序名称顺序:

SELECT T.date, T.name
FROM   TABLE T
GROUPE BY T.date, T.name -- T.name is not necessary

将显示如下:

DATE       NAME
-------------------
12/02/2015 Computer
12/02/2015 Mouse
12/02/2015 Book
13/02/2015 Paper
13/02/2015 Pen
13/02/2015 Pencil

答案 1 :(得分:0)

select date, group_concat(name) as names
from table
group by date

结果将是

12/02/2015计算,鼠标,书籍

13/02/2015纸,笔,铅笔

然后你可以循环结果并将names值分解为数组