SQL语句问题

xayzmb 2011-04-08 02:29:12
有一个表
内容如下:

字段1 字段2 字段3
aaa 2010-1-1 a11111111
aaa 2010-2-1 a2222dddd
bbb 2010-1-2 bdbdbdbd
bbb 2010-2-3 bcbcbcbc
bbb 2010-3-3 bgbbhgdgdfgds


希望得到的查询结果是:

字段1 字段2 字段3
aaa 2010-2-1 a2222dddd
bbb 2010-3-3 bgbbhgdgdfgds
...全文
90 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
king06 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xayzmb 的回复:]
li163
的方法也可以实现
貌似效率不如 lxq19851204 的
[/Quote]
效率有exists高?
xayzmb 2011-04-15
  • 打赏
  • 举报
回复
li163
的方法也可以实现
貌似效率不如 lxq19851204 的
xayzmb 2011-04-15
  • 打赏
  • 举报
回复
谢谢各位啦
问题已解决
lxq19851204 的方法正确

至于10楼提到的那个漏洞
我用CONCAT()给补上了
vbman2003 2011-04-08
  • 打赏
  • 举报
回复

select a.*
From tb a ,(select 字段1,max(字段2) as 字段2 From tb Group by 字段1) b
where a.字段1=b.字段1 and a.字段2=b.字段2

king06 2011-04-08
  • 打赏
  • 举报
回复
要是有两条一模一样的 select distinct * 就行了,如果不完全相同,本来就应该有必要都查出来
king06 2011-04-08
  • 打赏
  • 举报
回复
select * from tb T where not exists(select 1 from tb where 字段2>T.字段2 and 字段1=T.字段1)
li163 2011-04-08
  • 打赏
  • 举报
回复
这个有漏洞
如下数据的结果会有问题

字段1 字段2 字段3
aaa 2010-1-1 a11111111
aaa 2010-2-1 a2222dddd
bbb 2010-1-2 bdbdbdbd
bbb 2010-2-1 bcb33333
bbb 2010-2-3 bcbcbcbc
bbb 2010-3-3 bgbbhgdgdfgds
lxq19851204 2011-04-08
  • 打赏
  • 举报
回复

mysql> select a.* From a ,(select max(A2) as A2 From a Group by A1)b
-> where a.A2=b.A2;
+------+---------------------+---------------+
| A1 | A2 | A3 |
+------+---------------------+---------------+
| aaa | 2010-02-01 00:00:00 | a2222dddd |
| bbb | 2010-03-03 00:00:00 | bgbbhgdgdfgds |
+------+---------------------+---------------+
2 rows in set (0.00 sec)
lxq19851204 2011-04-08
  • 打赏
  • 举报
回复
select a.* From a ,(select max(A2) as A2 From a Group by A1)b
where a.A2=b.A2
li163 2011-04-08
  • 打赏
  • 举报
回复
修正

select a.字段1, a.字段2, a.字段3
from my_table a
,(select 字段1, max(字段2) as 字段2
from my_table
group by 字段1
) b
where a.字段1 = b.字段1
and a.字段2 = b.字段2
li163 2011-04-08
  • 打赏
  • 举报
回复
select a.字段1, a.字段2, a.字段3
from my_table a
,(select 字段1, 字段2
from my_table
group by 字段1
) b
where a.字段1 = b.字段1
and a.字段2 = b.字段2


lxq19851204 2011-04-08
  • 打赏
  • 举报
回复
有时间或者ID才可以,上面的不可以查询。
xayzmb 2011-04-08
  • 打赏
  • 举报
回复

是每种最后日期
li163 2011-04-08
  • 打赏
  • 举报
回复
什么意思?每种最后日期?

什么数据库?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧