SQL:GROUP BY记录,然后从每个组获取最后一条记录? - php

This question already has answers here:

Closed 7 years ago.

Possible Duplicate:
SQL Server: Only last entry in GROUP BY

我有一张这样的桌子:

id| name  | attendence
1 | Naveed| 1
2 | Naveed| 1
3 | Adil  | 1
4 | Adil  | 1

我使用以下查询:

SELECT * FROM `test` WHERE `attendence`=1 GROUP BY name

以上查询的结果:

id| name   | attendence
3 | Adil   | 1
1 | Naveed | 1

题:

在结果组上方按名称行,但显示每个组的第一行。我想从每个组中选择最后一行(按ID)。

例如:

id| name   | attendence
2 | Naveed | 1
4 | Adil   | 1

如何编写以上结果的查询。

谢谢

参考方案

SELECT a.* 
FROM test a 
WHERE a.attendence = 1 
AND NOT EXISTS (select 1 from test where name = a.name and id > a.id and attendence = 1)
GROUP BY name 

甚至可能不再需要该组。

CodeIgnighter的数据库库是否足以防止SQL注入 - php

我试图用像here这样的Codeignighter编写模型,该模型依赖于CodeIgnighter的数据库API。我已阅读forum post关于CodeIgnighter的数据库API是否完全阻止SQL注入。我知道很多people suggest使用PDO Framework作为防止SQL注入的最佳方法。我知道如何使用PDO框架,但是我看不到如何使用准备好…

CakePHP是否具有内置功能来检查MySQL注入? - php

CakePHP是否检查输入以查看它们是否有效而不是注入?如果没有,我将如何实现检查输入的功能? Cake的大部分流程都是在后台进行的,因此我不确定该在哪里进行。 参考方案 CakePHP的ORM功能会自动清除所有输入,以防止SQL注入。

如何防止站点受到SQL注入 - php

我的想法是使用MVC体系结构使用PHP和MYSQL从头开始创建站点。但是根据客户要求,该站点必须防止SQL INJECTION和CODE INJECTION。我需要做哪些必要的步骤。要么这是启动防止SQL INJECTION和CODE INJECTION的站点的最佳框架。我并不是要记住这一点来进行讨论。我只想知道哪一个更好,所以我可以从专业人员的指导开始。谢…

删除SQLite中另一个表中没有的所有行 - php

我有两个表(A和B)。我要删除表B中的所有行,其中B.1不在表A.2中。所以我用sqlite编写了这个公式:DELETE FROM B WHERE 1 IN (SELECT * FROM B LEFT JOIN A ON A.1=B.2 WHERE A.1 IS NULL) 但这返回此错误:only a single result allowed for a…

引用网址时如何避免mysql注入 - php

我有一个根据URL路径进行过滤的网页。地址是这样的:www.xxx.com/player-profile/?ID=130该页面使用ID字段进行过滤,如下所示:$playerid = $_GET['ID']; $result = mysql_query("SELECT * FROM tblPlayers Where lng_Rec…