我有一个包含三列的SQL表:标识、物料、变量。
*ID是唯一的用户ID(例如“12345”)。
*项目是特定设置参数的编号项目(例如,“通知”首选项为“20”;和“150”用于颜色主题)。
*变量是用户对上述设置的选项(例如,“0”表示无通知;"1“表示暗)。
我想了解有多少用户拥有两对设置。例如,有多少用户拥有:Notifications: Off AND Color Mode: Dark
。或者在数据库中显示为:20 = '0' AND 150 = '1'
.
我可以单独运行以下命令,以获得拥有通知的用户数量:关闭,以及有多少用户使用颜色主题:黑暗。
通知关闭:
SELECT COUNT(*) FROM `settings` WHERE item = '20' AND variable = '0'
暗模式开启
SELECT COUNT(*) FROM `settings` WHERE item = '150' AND variable = '1'
但是,我如何才能知道有多少用户同时拥有两种通知:关闭和颜色主题:深色(项目20 =“0”且项目150 =“1”)?
因此在下表中,我希望我的结果是“2”,因为用户78和用户81都有项目20 = 0和项目150 = 1。
| 标识符|项目|可变的|
| - -|- -|- -|
| 七十八年|二十|第0页|
| 七十八年|一百五十|1|
| 七十九|20个|一个|
| 七十九|一百五十个|一个|
| 八十个|20个|一个|
| 八十个|一百五十个|第0页|
| 八十一年|二十|第0页|
| 八十一年|一百五十|1|
1条答案
按热度按时间omhiaaxx1#
根据您的示例数据,并假设用户可以对每个项目使用一行,您可以执行以下操作