id, ProgName, Actor,wherefrom,note
1 , 黑夜传说 , 凯特 , 欧美 ,上集
2 , 黑夜传说 , 凯特 , 欧美 ,下集
3 , 黑夜传说-进化 , 凯特 , 欧美 ,第一集
4 , 黑夜传说-进化 , 凯特 , 欧美 ,第二集
5 , 黑夜传说-进化 , 凯特 , 欧美 ,第三集
6 , 功夫 , 周星驰 , 香港 ,全怎么用sql查询结果为:
id, ProgName, Actor,wherefrom
1 , 黑夜传说 , 凯特 , 欧美
3 , 黑夜传说-进化 , 凯特 , 欧美
6 , 功夫 , 周星驰 , 香港
也就是说只根据ProgName来选择不重复记录,我试过select distinct不行
1 , 黑夜传说 , 凯特 , 欧美 ,上集
2 , 黑夜传说 , 凯特 , 欧美 ,下集
3 , 黑夜传说-进化 , 凯特 , 欧美 ,第一集
4 , 黑夜传说-进化 , 凯特 , 欧美 ,第二集
5 , 黑夜传说-进化 , 凯特 , 欧美 ,第三集
6 , 功夫 , 周星驰 , 香港 ,全怎么用sql查询结果为:
id, ProgName, Actor,wherefrom
1 , 黑夜传说 , 凯特 , 欧美
3 , 黑夜传说-进化 , 凯特 , 欧美
6 , 功夫 , 周星驰 , 香港
也就是说只根据ProgName来选择不重复记录,我试过select distinct不行
解决方案 »
- delphi with do语句有没这样的用法???
- Delphi + Word 问题
- 如何使 Treeview 在from设计时都为展开状态?
- 如何解决"Statement expected but 'FUNCTION'错误
- 怎么调出选择文件夹的对话框
- 各位兄弟,听说用access做数据库,在录入等对数据操作的时候,程序(包括数据库)大小会增大很多?
- 怎样定位纪录,并能用语句将某个字段的值更改!!!!在线等!!!!
- 求助图像处理方面的问题(识别26个英文字母)
- DBGRID的一列求和怎么做?
- 在win98下装DCOM是不是先要装补丁程序?
- 在代码中如何捕捉存储过程中定义的错误?
- 只能输入数字的edit框 的验证方法
select distinct (ProgName+Actor+wherefrom+note), id, ProgName, Actor,wherefrom,note
得到结果
ProgName, Actor,wherefrom
黑夜传说 , 凯特, 欧美
黑夜传说-进化, 凯特, 欧美
功夫 , 周星驰, 香港
但是要加上楼主前面的id,还请高手指点哈..
根据楼主的需求,得到第一条记录id可以为(1,2)中的任意一条,第二条记录id可以为(3,4,5)中任意一个,第三条记录id则为6,
仿佛结果不定啊....等高手来解答。
where a.id=(select max(b.id) from table b where a.ProgName=b.ProgName)
若要通过progname来筛选,则不应该将主码列在筛选的结果集中。不知道是不是这样讲?
1 , mv00001 黑夜传说 , 凯特 , 欧美 , 上集
2 , mv00001 黑夜传说 , 凯特 , 欧美 , 下集
3 , mv00002 黑夜传说-进化 , 凯特 , 欧美 , 第一集
4 , mv00002 黑夜传说-进化 , 凯特 , 欧美 , 第二集
5 , mv00002 黑夜传说-进化 , 凯特 , 欧美 , 第三集
6 , mv00004 功夫 , 周星驰 ,香港 , 全 查询结果:
mv00001 黑夜传说 , 凯特 , 欧美
mv00002 黑夜传说-进化 , 凯特 , 欧美
mv00004 功夫 , 周星驰 ,香港感觉这样处理会更好。
DECLARE @T TABLE(id INT,ProgName varchar(50),Actor varchar(50),wherefrom Varchar(50),note varchar(50))
INSERT @T SELECT 1,'黑夜传说' , '凯特' , '欧美' ,'上集'
UNION ALL SELECT 2 , '黑夜传说' , '凯特' , '欧美' ,'下集'
UNION ALL SELECT 3 , '黑夜传说-进化' , '凯特' , '欧美' ,'第一集'
UNION ALL SELECT 4 , '黑夜传说-进化' , '凯特' , '欧美' ,'第二集'
UNION ALL SELECT 5 , '黑夜传说-进化' , '凯特' , '欧美' ,'第三集'
UNION ALL SELECT 6 , '功夫' , '周星驰' , '香港' ,'全'--TEST
SELECT *
FROM @T A
WHERE NOT EXISTS
( SELECT 1 FROM @T WHERE A.ProgName=ProgName and id<A.id)
我用的是mysql 5.0 ,报错
@jzinfo
如果发现ProgName有重复,SQL会选第一条吧
表结构已经定了,id是自动编号
@liangpei2008
谢谢你!
显示行 0 - 2 (3 总计, 查询花费 0.0233 秒)
SQL 查询:
[code]
SELECT *
FROM movie A
WHERE NOT
EXISTS (SELECT 1
FROM movie
WHERE A.ProgName = ProgName
AND id < A.id
[/code]
结果:
id ProgName Actor wherefrom Note
1 黑夜传说 凯特 欧美 上集
3 黑夜传说-进化 凯特 欧美 第一集
6 功夫 周星驰 香港 全
id, ProgName, Actor,wherefrom
1 , 黑夜传说 , 凯特 , 欧美
3 , 黑夜传说-进化 , 凯特 , 欧美
6 , 功夫 , 周星驰 , 香港