我有一个表格,向我显示我的用户的下载报告。
该表如下所示:

╔═══╦════════════╦═════════════╗
║   ║ url        ║ user        ║
╠═══╬════════════╬═════════════╣
║ 1 ║ Bla        ║ 1           ║
║ 2 ║ Bla Bla    ║ 1           ║
║ 3 ║ Bla Bla Bla║ 1           ║
║ 4 ║ Bla2       ║ 2           ║
╚═══╩════════════╩═════════════╝


如果要选择下载URL Bla的用户,请执行以下操作:

SELECT `user` FROM `links` WHERE `url` = 'Bla'


但是我想选择下载Bla并下载Bla Bla的用户。

我怎样才能做到这一点?

谢谢,对不起我的英语。

最佳答案

您可以将WHERE子句与GROUP BYHAVING组合使用以获取结果:

select user
from yourtable
where url in ('Bla', 'Bla Bla')
group by user
having count(distinct url) = 2;


SQL Fiddle with Demo

关于mysql - 多行的SQL条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20890308/

10-16 15:25