SELECT `Id`,`Amount`,'CreationTime'
FROM `Table1`
WHERE Amount IS NOT NULL GROUP BY `Id`;
以下查询给我结果:
有两列,数据按组排序。
ID | Cash | CreationTime
1 | 12 | 2015-10-30 07:59:11.000000
1 | 10 | 2014-10-07 08:55:27.000000
1 | 3 | 2012-10-05 06:35:48.000000
2 | 100 | 2015-10-30 07:59:11.000000
2 | 10 | 2014-10-07 08:55:27.000000
3 | 3 | 2012-10-05 06:35:48.000000
现在我想从这个结果中获取一行,具体取决于该行的创建时间。
我需要行数量= 3,因为它的创建时间最长。
我想要的输出:
ID | Cash | CreationTime
1 | 3 | 2012-10-05 06:35:48.000000
2 | 10 | 2014-10-07 08:55:27.000000
3 | 3 | 2012-10-05 06:35:48.000000
我的表中有专栏“Createtime”。 所以,任何人都可以帮助我,我该怎么做?
我通过使用获得的结果:
SELECT Id,Amount,Creationtime
FROM Table1
WHERE Amount IS NOT NULL GROUP BY Id order by Creationtime
LIMIT 1;
或者使用这个:
SELECT `Id`,`Amount`,'CreationTime'
FROM `Table1`
WHERE Amount IS NOT NULL order by CreationTime asc limit 0,1
RESULT
ID | Cash | CreationTime
1 | 3 | 2012-10-05 06:35:48.000000
答案 0 :(得分:0)
您的解决方案:
SELECT `Id`,`Amount`
FROM `Table1`
WHERE Amount IS NOT NULL GROUP BY `Id` order by Createtime desc Limit 1
答案 1 :(得分:0)
您的查询应该是:
SELECT `Id`,`Amount`,'CreationTime'
FROM `Table1`
where DATE_FORMAT('CreationTime', '%h-%i') = '06-35'
WHERE Amount IS NOT NULL GROUP BY `Id`;
如果您想要24小时格式的格式,也可以使用%H。
答案 2 :(得分:0)
SELECT `Id`,`Amount`,'CreationTime'
FROM `Table1`
WHERE Amount IS NOT NULL group by Id order by CreationTime asc limit 0,1