又来sql了

又来sql了

又来求助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)

又来sql了

相关文章:

你感兴趣的文章:

标签云: