我有一个sql表,它有3列(ID,Name,Datetime)。
这是一个简短的例子:
ID | Name | Datetime |
=============================================
1 | Test 1 | 2014-09-22 22:27:24 |
2 | Test 223 | 2014-09-22 22:27:24 |
3 | Test FAS | 2014-09-22 22:27:24 |
4 | Test SSA | 2014-09-22 22:31:18 |
5 | Test SSA | 2014-09-22 22:31:18 |
6 | Test SSA | 2014-09-22 22:31:18 |
7 | Test SSA | 2014-09-22 22:31:18 |
8 | Test SSA | 2014-09-22 22:31:18 |
对于所有具有相同日期时间的条目,我需要第一个ID(此日期时间开始的地方)以及最后一个ID(最后一次使用此日期时间)。
我试图找到合适的SQL命令来获取此结果并生成如下数组:
[0] => Array
(
[start] => 1
[end] => 3
[date] => 2014-09-22 22:27:24
)
[1] => Array
(
[start] => 4
[end] => 8
[date] => 2014-09-22 22:31:18
)
有人可以给我一个解决方案,如何创建这个sql命令?
谢谢!
答案 0 :(得分:3)
SELECT
MIN(ID) AS start,
MAX(ID) AS end,
COUNT(*) AS how_many,
`Datetime`
FROM
your_table
GROUP BY `Datetime`