gpt4 book ai didi

MySQL - 选择所有不存在的行或等于值的字段

转载 作者:行者123 更新时间:2023-11-30 22:09:01 27 4
gpt4 key购买 nike

我有两个表:

g1 :

id |  name  | 
1 | G1 |
2 | G2 |
3 | G3 |
4 | G4 |
5 | G5 |

g_u_groups :

id | group_id | action |
1 | 2 | view |
2 | 3 | add |
3 | 2 | view |
4 | 3 | view |
5 | 1 | add |

我对以下查询有疑问:

SELECT * 
FROM g1
LEFT JOIN g_u_groups ON
g_u_groups.group_id = g1.id
AND (g_u_groups.action = 'add' OR g_u_groups.id is null)
ORDER BY g_u_groups.id DESC
LIMIT 10

现在它只选择在 g_u_groups 中有行的组。

我想按最新的'add' 操作对所有组进行排序,但我还想选择没有操作 .

预期结果:

id |  name  | 
1 | G1 |
3 | G3 |
2 | G2 |
4 | G4 |
5 | G5 |

最佳答案

这会返回预期的结果吗?

    SELECT g1.id, g1.name
FROM g1
LEFT JOIN g_u_groups
ON g_u_groups.group_id = g1.id
AND g_u_groups.action = 'add' or g_u_groups.id is null
ORDER BY g_u_groups.id DESC, g1.id DESC
LIMIT 10

这个POST谈论对多列进行排序,它可以帮助你

关于MySQL - 选择所有不存在的行或等于值的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40745147/

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