gpt4 book ai didi

mysql - 查询根据列条件返回行

转载 作者:行者123 更新时间:2023-11-29 06:41:27 24 4
gpt4 key购买 nike

我正在尝试编写一个查询,其中给定一个列名为“喜欢”的用户表(例如),我想选择所有记录为“喜欢”的 0 和 1 的用户柱子。架构看起来像这样:

id  Name  Likes
0 Tom 1
1 Alice 0
2 Tom 0

查询应该返回 id = 0 和 id = 2 的行,因为 Tom 的 Like 列有 1 和 0。完成这种行为的最简单/最有效的查询是什么?

最佳答案

如果 Likes 在你的表中只能是 1 或 0 而没有别的,你可以这样做。

select distinct t1.Name From tableName t1
join tableName t2 on t1.name = t2.name and t1.Likes = 1 - t2.Likes

如果不是这样,就这样做:

select distinct t1.Name From tableName t1
join tableName t2 on t1.name = t2.name and t1.Likes = 1 and t2.Likes = 0

另一种可能的解决方案是这个。

select a.* from
tableName a
JOIN
(
select b.Name, count(distinct b.likes) as Likes
from tableName b
group by b.Name
having count(distinct b.likes) > 1
) a1 on a.Name = a1.Name

关于mysql - 查询根据列条件返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com