sql - 在第二列的两个值之间选择一个值
问题描述
我有一张桌子 DS:
DS_num TEXT
DS1 YES
DS1 NO
DS2 YES
DS2 NO
DS3 NO
DS4 NO
DS4 YES
DS5 YES
DS6 NO
DS7 YES
DS7 NO
DS8 NO
.....
从表 DS 我想只得到 DS3、DS6 和 DS8。这意味着我只想得到不重复的 DS_num 并且在 TEXT 字段中有“NO”。
解决方案
您可以分组ds_num
,计算出现次数并检查最大值text
(即:单行情况下的唯一值)是否为no
:
SELECT ds_num
FROM ds
GROUP BY ds_num
HAVING COUNT(*) = 1 AND MAX(text) = 'NO'
推荐阅读
- c# - 使用 ToString() 将数字直接转换为字符串是一种好习惯吗?
- linux - 通过管道使用 bitbucket 分支名称在远程服务器中创建文件夹
- php - 通过 Amazon API Gateway 和网络负载均衡器使用 Nginx 设置 Wordpress 时面临重定向问题
- go - Golang编译错误:导出函数中未定义的私有函数“findCluster”
- wordpress - 将 WordPress 安装到 WordPress 站点的子目录中?
- elasticsearch - elasticsearch中搜索查询中_score字段的规范化
- android - 如何修复 No Adapter Attach 跳过布局
- javascript - Vue.js中如何使用数据设置其他数据
- c - 如何在两台不同的机器上运行 client-servet TCP/IP 程序?
- javascript - style.display = 'none' 模态上的点击事件跳转到页面顶部