mysql - 独特的帮助

标签 mysql

好吧,我有一个表,该表中有两列,其中包含 ID。我想让其中一列不同,一旦它不同,就可以从某个 ID 的第二列中选择所有这些列。

最初我尝试过:

select distinct inp_kll_id from kb3_inv_plt where inp_plt_id = 581;

但是,这首先执行 where 子句,然后返回不同的值。

或者:

select * from (select distinct(inp_kll_id) from kb3_inv_plt) as inp_kll_id where inp_plt_id = 581;

但是,这无法找到列inp_plt_id,因为distinct仅返回该列,而不是整个表。

有什么建议吗?

编辑:

每个kll_id可以有一个或多个plt_id。我想要某个 kb3_inv_plt id 具有唯一的 kll_id。

| inp_kll_id | inp_plt_id |
|       1941 |      41383 |
|       1942 |      41276 |
|       1942 |      38005 |
|       1942 |      39052 |
|       1942 |      40611 |
|       1943 |       5868 |
|       1943 |       4914 |
|       1943 |      39511 |
|       1944 |      39511 |
|       1944 |      41276 |
|       1944 |      40593 |
|       1944 |      26555 |

最佳答案

如果您的意思是,“使不同”,“仅选择仅发生一次的 inp_kll_id”(不是 Distinct 的 SQL 语义),那么这应该有效:

select inp_kll_id
 from kb3_inv_plt
 group by inp_kll_id
 having count(*)=1 and inp_plt_id = 581;

关于mysql - 独特的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/981962/

相关文章:

mysql - 一个查询中的税收(累积或常规税收)

MySQL 查询 - 无法确定如何编写特定查询

ios - 如何使用 Alamofire 将用户个人资料图像保存到 MYSQL 数据库,然后在以下屏幕上检索

mysql - 向 MySQL 中的用户(远程 root 登录)授予权限

mysql - 按两列小数点后的某些数字选择

mysql - 如果存在则更改表,如果不存在则创建

mysql - R SQL : Pull data from MySQL for list of ids already in a dataframe

mysql - 哪个 MySQL JOIN 适合这个?

mysql - 无法删除带有 GROUP BY 和 HAVING 子句的语句

mysql - 请根据提到的行数告诉我哪个查询是有效的