首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

又来sql了

2012-03-27 
又来求助sql了。idaddresscontentidstatus5014062215172214180160求一条sql 查询出如果有contentid 相等的

又来求助sql了。
id address contentid status 
5 0 14 0
6 22 15 1
7 22 14 1
8 0 16 0

求一条sql 查询出如果有contentid 相等的 就只查出address不等于0的
如 contentid 有2条等于14就不查出id等于5的那条。像id等于8的那条address等于0 没有与它相等的就查出等于0的。


[解决办法]
鄙人mysql新手,不知道对LZ有帮助没
1、select contentid,count(contentid) from tablename group by contentid


2、select * from tablename where address!=0 and contentid = 第一条查询出来的contentid
[解决办法]
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式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)
 
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。


[解决办法]
用14楼数据测试,假设ID唯一

SELECT * FROM tty a WHERE
NOT EXISTS(SELECT 1 FROM tty WHERE a.contentid=a.contentid AND a.address=0)
or

not EXISTS(SELECT 1 FROM tty WHERE a.contentid=a.contentid AND a.address=0 and a.id<id)

热点排行