我想从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
由于
答案 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值分解为数组