gpt4 book ai didi

mysql - 查询工作错误 MySQL

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

我需要你帮助进行 SQL 查询。我需要从查询中选择仅具有所有设备的所有 payments。为此,我执行以下查询:

SELECT payments.offer_id
FROM payments
WHERE payments.device IN ('TABLET','DESKTOP','MOBILE','IPOD')
GROUP BY payments.offer_id
HAVING COUNT(payments.id) = '4';

结果:

enter image description here

但结果是错误的,因为如果执行以下查询,我会看到此 offerId 的 payments 只有 2 个唯一设备,即移动设备和平板电脑。

SELECT id, offer_id, device FROM payments WHERE offer_id = 77;

enter image description here

你能帮我吗?需要如何更改查询以获得正确的结果?谢谢。

最佳答案

我想你想要count(distinct):

SELECT p.offer_id
FROM payments p
WHERE p.device IN ('TABLET', 'DESKTOP', 'MOBILE', 'IPOD')
GROUP BY p.offer_id
HAVING COUNT(DISTINCT p.device) = 4;

注意事项:

  • 表别名使查询更易于编写和阅读。
  • 不要将数字常量放在单引号中。仅对字符串和日期常量使用单引号。
  • 您想计算不同数量的设备,因此您必须计算正确的列。

关于mysql - 查询工作错误 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43952501/

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