sách gpt4 ai đã đi

php - MYSQL 最大/计数/IN/日期

In lại 作者:行者123 更新时间:2023-11-29 01:48:12 25 4
mua khóa gpt4 Nike

希望大家指教。我急于求成,希望您能提出建议。

我有一个表格,我想从带有 IN 的日期之间的内部计数中选择 MAX。

View Table

这是我尝试过但一点运气都没有的方法。

SELECT MAX(no_hits) from (SELECT count(hits) AS 'no_hits' ) FROM stats WHERE 'date' >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH AND zones_code IN('011242077793513596890', '011242077783866125432'))

所以基本上我只想为表现最好的区域返回一个 no_hits。

希望您能指出我哪里出错了。

如果你能来,谢谢你

1 Câu trả lời

您的查询是这样的:

SELECT MAX(no_hits) 
FROM (SELECT count(hits) AS 'no_hits' ) FROM stats
WHERE 'date' >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH
AND zones_code IN('011242077793513596890', '011242077783866125432')
);

您的查询存在一些问题:

  • 您在 'no_hits' 之后关闭了子查询括号。
  • 您没有为子查询提供表别名。每个派生表都必须有一个表别名。
  • 您没有关闭 DATE_SUB() 函数的括号。
  • 您使用了 COUNT(),如果您想要每个区域的总点击数,我认为您应该使用 SUM().
  • 您没有将点击的小计与每个区域相关联;您的小计是针对整个表格的。
  • 您对 'date' 使用了字符串定界符 ('') 而不是标识符定界符(即反引号)。当您要将列 ngày 与日期值进行比较时,您正在将文字字符串 'date' 与日期值进行比较。

@chaos 的答案中的查询很接近,但我认为你应该使用 SUM():

SELECT `zones_code`, SUM(`hits`) AS `no_hits`
FROM `stats`
WHERE `date` >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
GROUP BY `zones_code`
ORDER BY `no_hits` DESC
LIMIT 1;

结果为zone_code 011242077793513596890,共命中255次。


PS:在线提问时,请提供文本足够的代码和数据,方便大家测试。您提供了一些示例数据的屏幕截图,但没有显示表创建代码。这不如提供有效的 CREATE TABLE 语句和示例 INSERT 语句来填充它那样有用。

CREATE TABLE IF NOT EXISTS `stats` (
`id` int(11) NOT NULL,
`zones_code` char(21) default NULL,
`date` date default NULL,
`hits` int(11) default NULL,
KHÓA CHÍNH (`id`)
);

INSERT INTO stats VALUES
(10, '011242077793513596890', '2009-05-11', 13),
(12, '011242077793513596890', '2009-05-12',235),
(24, '011242077793513596890', '2009-05-13', 2),
(32, '011242077793513596890', '2009-05-14', 5),
(17, '011242077783866125432', '2009-05-12',165),
(22, '011242077783866125432', '2009-05-13', 2),
(30, '011242077783866125432', '2009-05-14', 5),
(19, '011242077743853330663', '2009-05-12', 61),
(20, '011242077737314753388', '2009-05-12', 54),
(28, '011242077737314753388', '2009-05-13', 7),
(36, '011242077737314753388', '2009-05-14', 31),
(14, '011242077730456603312', '2009-05-12',240),
(26, '011242077730456603312', '2009-05-13', 2),
(34, '011242077730456603312', '2009-05-14', 5);

以上是我根据您的屏幕截图必须输入的内容!

帮自己一个忙,让人们更容易帮助您。

关于php - MYSQL 最大/计数/IN/日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/864582/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com