[英]MySQL Query Distinct in Paris PHP
我需要使用Paris / idiorm PHP来构建查询。 我尝试了许多可能性,但找不到解决方案。 我是PHP和SQL的新手,对ORM不太了解。 我只是以为有人会帮助我建立查询,以获取上次更新时间戳的不同名称。
-----------------------------------------
id | name | timestamp
-----------------------------------------
1 | testuser | 2012-11-19 17:02:48
2 | testuser | 2012-11-28 11:15:46
3 | testuser | 2012-11-19 11:02:49
4 | testadmin | 2012-11-28 10:50:05
5 | testadmin | 2012-11-28 11:15:46
-----------------------------------------
我进行了以下查询,能够获取名称和它们的第一个时间戳,但无法获取最新的时间戳
$output = ORM::for_table('sample')
->raw_query('SELECT id,name,timestamp FROM sample GROUP BY name',array())
->find_many();
希望对此有解决方案。
获取子查询中每个名称的最新时间戳,然后将其与自身重新结合在一起。 尝试,
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT name, MAX(timestamp) maxStamp
FROM tableName
GROUP BY name
) b ON a.name = b.name AND
a.timestamp = b.maxStamp
$output = ORM::for_table('sample')
->distinct()
->raw_query('SELECT id,name,timestamp FROM sample GROUP BY name',array())
->find_many();
$output = ORM::for_table('sample')
->raw_query('SELECT DISTINCT(name),id,timestamp FROM sample ORDER BY id DESC',array())
->find_many();
希望这可以帮助
我尝试订购DESC给您,您将获得用户的最新或最新日志
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.