我有一个mysql数据库(item_preset)与下表:

+-----+-----------+---------+-------+

| id | preset_id | item_id | value |

+-----+-----------+---------+-------+

| 1 | 1 | 1 | 2 |

| 2 | 1 | 2 | 1 |

| 3 | 1 | 4 | 60 |

| 4 | 1 | 3 | 16 |

| 5 | 1 | 3 | 17 |

| 6 | 1 | 3 | 18 |

| 7 | 1 | 3 | 25 |

| 8 | 1 | 3 | 26 |

| 9 | 1 | 3 | 27 |

| 10 | 2 | 1 | 3 |

| 11 | 2 | 2 | 0 |

| 12 | 2 | 4 | 0 |

| 13 | 2 | 3 | 16 |

| 14 | 2 | 3 | 17 |

| 15 | 2 | 3 | 19 |

| 16 | 2 | 3 | 20 |

| 17 | 2 | 3 | 21 |

| 18 | 3 | 1 | 2 |

| 19 | 3 | 2 | 0 |

| 20 | 3 | 4 | 0 |

| 21 | 3 | 3 | 25 |

| 22 | 3 | 3 | 28 |

| 23 | 4 | 1 | 1 |

| 24 | 4 | 2 | 1 |

| 25 | 4 | 4 | 120 |

| 26 | 4 | 3 | 16 |

| 27 | 4 | 3 | 17 |

| 28 | 4 | 3 | 18 |

| 29 | 4 | 3 | 22 |

| 30 | 4 | 3 | 23 |

| 31 | 4 | 3 | 24 |

| 32 | 6 | 1 | 3 |

| 33 | 6 | 2 | 1 |

| 34 | 6 | 4 | 90 |

| 35 | 6 | 3 | 18 |

| 36 | 6 | 3 | 22 |

| 37 | 6 | 3 | 23 |

| 38 | 6 | 3 | 24 |

| 39 | 6 | 3 | 29 |

| 40 | 6 | 3 | 30 |

+-----+-----------+---------+-------+

我想要做的是根据多行条件获取不同的preset_id.

例如,要获取preset_id 1我需要所有条件为真(item_id = 1和value_id = 2),(item_id = 2和value = 1)等…

我试过以下内容:

从item_preset中选择distinct preset_id,其中(item_id = 1和value = 2)和(item_id = 2,value = 1)和(item_id = 4,value = 60);

但得到一个空集.如果我尝试使用Or而不是,我会获得符合任何条件的所有preset_ids.

有任何想法吗?

谢谢

解决方法:

你可以尝试这样的事情:

select distinct preset_id from item_preset

where preset_id in (select preset_id from item_preset where item_id = 1 and value = 2)

and preset_id in (select preset_id from item_preset where item_id = 2 and value = 1)

and preset_id in (select preset_id from item_preset where item_id = 4 and value = 60);

标签:mysql

来源: https://codeday.me/bug/20190625/1287957.html

mysql distinct 条件,多行条件下的mysql distinct列相关推荐

  1. Python在命令行模式下登录MySQL数据库

    1). 在命令行模式下登录MySQL数据库,使用SQL语句如下要求:1. 创建留言数据库: blogdb;2. 在blogdb数据库中创建会员表users和博客文章表blog,结构如下3. 在会员表u ...

  2. mysql linux err2003_远程连接linux下的mysql Err1045 Err2003解决办法

    本人linux系统 Centos7 1.Err2003 我个人的情况是因为linux中防火墙开启并阻止了3306这个mysql端口的远程连接 解决办法: CentOS 7.0默认使用的是firewal ...

  3. 安装mysql 图_如何在Windows下安装MYSQL,并截图说明

    说明 : window 下安装 mysql 虽然简单,但是细节不注意就会安装失败,特别是配置服务器时,Current Root Password:为空:如果输入密码了在后面安装会报错.(不知道设置这个 ...

  4. win mysql修改端口号_Windows10系统下查看mysql的端口号并修改的教程图解

    mysql的端口号默认是3306,初学者可能有时会忘记或者之前修改了默认的端口号,忘记了,或者很多时候我们一台电脑需要安装两个mysql或者想设置一个自己的喜欢的数字,那么接下来我们来看看如何查看或者 ...

  5. 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...

    本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...

  6. mysql linuxl环境搭建_Linux环境下的MySQL搭建

    今天重装了一个新的Linux发行版本--deeping,本想着解决一下前面的Ubuntu以外卡死的情况,发现还是卡死,后来把显卡驱动改成开源, 删除了谷歌浏览器,果然deeping稳定了:就不知道今后 ...

  7. mysql安装连接测试c_Ubuntu 12.04下安装mysql并用C程序测试连接

    1.先安装mysql 代码:sudo apt-get install mysql-server mysql-client 2.再装开发包 代码:sudo apt-get install libmysq ...

  8. Docker的mysql镜像_详解docker下的Mysql镜像的使用方法

    通常初学者学习docker时,不太清楚怎样拉取一个Mysql镜像并使用,今天这篇文章简单介绍一下使用流程. 一.预习一下用到的docker命令: 1.docker images 列出本地主机上的镜像. ...

  9. .net4.5对应的安装mysql dll文件的版本_cmd下使用mysql插入中文出现无法退出语句的情况!终极解决办法! 安装mysql详细教程。...

    当你插入中文时遇到这种情况,始终无法退出. 当前数据库:网上下载的奇奇怪怪版本5.5 当前系统win10 当前CMD输入编码utf8 数据库编码utf8 表编码utf8 mysql> inser ...

最新文章

  1. 发现的bug不能重现怎么办?
  2. mysql中vlookup函数_wps表中vlookup函数使用方法将一表引到另一表
  3. 【学习笔记】C#中HashTable和快速排序的用法,从单词频率统计小程序写起
  4. python数据挖掘笔记】十八.线性回归及多项式回归分析四个案例分享
  5. 微信测试环境下不能用window.open()
  6. 计算机单机游戏c0005错误,堡垒之夜Epic Games Launcher错误怎么办错误解决方法介绍...
  7. 2021好物推荐!简易画图软件分享
  8. 英威腾GD200A系列变频器实现多段速控制的相关参数设置及接线
  9. 武汉大学计算机国家网络安全学院怎么样,武汉大学国家网络安全学院怎么样?...
  10. 巨杉TechDay回顾 | 技术人的夏天 · 就是这么燃!
  11. 注册一个域名需要多少钱_注册一个域名要多少钱?
  12. 网络安全风险无处不在
  13. 数学物理方法·基础④复平面/辐角/复数表示形式
  14. 环信IM即时通讯集成-遇到问题及创建默认会话+默认欢迎语
  15. 29、ZigBee 开发教程之基础篇—RFID 射频卡
  16. 【转知乎】异地恋如何维持之电子本科生
  17. 一个Spring Bean从诞生到逝去的九次人生转折!
  18. 【菜鸡的自动化学习之旅】《电力电子技术》学习笔记1 ———— 电力电子器件
  19. 中国矿用车行业竞争状态及市场战略格局分析报告2022-2028年版
  20. Manage multiple Spring Boot run configurations in the Services tool window

热门文章

  1. linux下oracle开机自启动,Linux下开机自动启动Oracle的设置
  2. mingw64 下 java,如何安装MinGW-w64和MSYS2?
  3. java excel解析视频教程_java解析Excel(xls、xlsx两种格式)
  4. abaqus pythonreader_【技术邻】Abaqus里应用Python的一些技巧
  5. oracle复制数据库文件不动,复制数据库中需要注意的几点事项
  6. 乌龟跑步(记忆化搜索)
  7. Linux串口编程_termios
  8. bytes转16进制整数 python_Python 十进制转二进制、八进制、十六进制
  9. android px pd sp区别,【求助】我用北京索莱宝质粒小量提取试剂盒提的质粒,电泳图...
  10. 软件工程--软件危机-生命周期-软件过程