mysql查询和输出

时间:2014-01-28 07:52:18

标签: php mysql

我需要知道如何编写查询,或者如何完成此操作。

我有一张表events,结构说:

|  name   |     date    |            title           |
|  blue   |  2014-01-28 | some title 1               |
|  blue   |  2014-01-28 | some title 2               |
|  blue   |  2014-01-28 | some title 3               |
|  blue   |  2014-01-28 | some title 4               |
|  red    |  2014-01-29 | some title 1               |
|  red    |  2014-01-29 | some title 2               |
|  red    |  2014-01-29 | some title 3               |
|  red    |  2014-01-29 | some title 4               |

我想做什么,是按每个日期(组?)选择,然后在php之后列出它们就像

一样
<h1>2014-01-28</h1>
<ul>
   <li>some title 1</li>
   <li>some title 2</li>
   <li>some title 3</li>
   <li>some title 4</li>
</ul>

<h1>2014-01-29</h1>
<ul>
   <li>some title 1</li>
   <li>some title 2</li>
   <li>some title 3</li>
   <li>some title 4</li>
</ul>

那种性质......我可以从那里拿走它。

1 个答案:

答案 0 :(得分:2)

您可以尝试此查询

SELECT date, GROUP_CONCAT(title) As title
    FROM table GROUP BY date

这将为您提供如下输出

date       | title

2014-01-28 | some title 1,some title 2,some title 3,some title 4

然后使用PHP解析结果。

注意: GROUP_CONCAT()具有1024字节的限制。如果你的标题长度更长,请在使用GROUP_CONCAT函数之前考虑

<强>参考

http://www.mysqlperformanceblog.com/2013/10/22/the-power-of-mysqls-group_concat/