mysql选择

标签 mysql select

我有一张表 - 用户 - 我还有另一张表 - 颜色。每个用户都可以在 Colors 中创建更多记录,并且每条记录都由相关用户“拥有”(这意味着 Colors 拥有一个名为“Userid”的字段,与 Users 表中名为“Id”的字段相同) .

例子: 用户 Per 在 Colors 中创建了这些记录: 红色的 蓝色的 黑色

用户 Phil 在 Colors 中创建了记录。 蓝色

现在我想选择同时创建了 Blue 和 Red 的用户。我可以在一个选择语句中执行此操作吗?

谢谢!

最佳答案

尝试(例如,根据你的表结构修改!):

SELECT X.UserID FROM 
(SELECT UserID, COUNT(DISTINCT COLOR) C FROM COLORS WHERE COLOR IN ( 'Red', 'Blue' ) GROUP BY UserID) X 
WHERE X.C = 2

关于mysql选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7384142/

相关文章:

php - 无法使用 laravel Eloquent 地获取数据

mysql - 如何提高SQL的性能?(使用子查询)

select - Sublime text 2 - 列选择直到行尾

php - 简单表单未提交到数据库 PHP MySQL

javascript - 根据在下拉列表中选择的值动态更改日期选择器

mysql - MySQL流量的Wireshark密码捕获

MySQL删除语句

sql - oracle中select语句中的子查询是如何工作的

javascript - D3JS selectAll追加矩形

mysql - 为什么InnoDB要为外键列添加索引