有一个表tb结构 如下字段 id name subject score
1 zhang math 90
1 biology 89
1 chemistry 69
2 wang math 23
2 biology 77
2 chemistry 100
3 li math 89
3 biology 78
3 chemistry 88id为学号,代表唯一一名学生
填充id相同的记录中空白的name
在sqlserver中实现语句为
select id,
name=(select top 1 name from tb where id=t.id order by name desc),
subject,score
from tb t
为什么在mysql下不行呢, 知道mysql不支持top,改为limit还是不行,求正确语句
1 zhang math 90
1 biology 89
1 chemistry 69
2 wang math 23
2 biology 77
2 chemistry 100
3 li math 89
3 biology 78
3 chemistry 88id为学号,代表唯一一名学生
填充id相同的记录中空白的name
在sqlserver中实现语句为
select id,
name=(select top 1 name from tb where id=t.id order by name desc),
subject,score
from tb t
为什么在mysql下不行呢, 知道mysql不支持top,改为limit还是不行,求正确语句
解决方案 »
- Mysql GUI Tools连接问题?
- 不能插入“㎡”这个字符
- 安装myodbc3.51 驱动后,测试无法连接本地 MYSQL SERVER
- 这个创建表的代码哪里出问题了啊?
- mysql有没有象oracle这样的sql(select level,* from table connect by start 条件)
- 如何备份SQL SERVER 内的數据?
- 求帮助 如何同步两个本地mysql数据库
- 使用wmdumper将维基百科导入mysql出问题
- vb.net连接MYSQL数据库的问题
- result::getString()方法出现问题,运行时出现错误
- 如何将本地MYSQL数据库导入服务器中?
- 求一个sql
set a.name=b.name
where a.id=b.id
and a.name is null
set a.name=b.name where a.id=b.id and a.name is null
select id,(select name from tb where t.id =id group by id) as name, subject, score from tb t;都没有成功,我明白这两句的意思,但是实在找不出语法错误
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。