作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Count(t.id) AS count on join
导致名为 count
的两列,但第一列全为 0。
是什么导致空列重复错误?
SELECT t . * , COUNT(t.id) AS count
FROM (
SELECT `id` , `date`
FROM `searches`
WHERE `date` > '2016-12-06'
ORDER BY `date` DESC
LIMIT 0 , 10000
) q
JOIN `searches` t ON t.id = q.id
GROUP BY `query`
ORDER BY `count` DESC
LIMIT 0 , 30
图像显示全为 0 的计数列不应显示在临时表中。
奖励:有没有明显的方法来加速这个查询?
显示第 0 - 29 行(总共 30 行,查询耗时 0.2904 秒)
最佳答案
当您的第一行中有 t.*
时,您将从表中提取每一列。这将包括计数列。然后您正在计算一个名为 count 的计数。这就是为什么你有两个计数列。表中的计数列可能已全部插入零。
如果您不希望列全为零,则必须使查询如下所示:
SELECT t.id, t.date, t.ip, t.fbuild, t.useragent, t.query , COUNT(t.id) AS count
FROM (
SELECT `id` , `date`
FROM `searches`
WHERE `date` > '2016-12-06'
ORDER BY `date` DESC
LIMIT 0 , 10000
) q
JOIN `searches` t ON t.id = q.id
GROUP BY `query`
ORDER BY `count` DESC
LIMIT 0 , 30
关于mysql - Count(t.id) 连接上的 AS 计数导致两个 `count` 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41024825/
我是一名优秀的程序员,十分优秀!