Mysql 用了 having,怎么计算总数了。

2014-06-20 10:18:11 +08:00
 coolicer
SELECT *,一个表达式 AS flag FROM (这里2个表INNER JOIN) AS c

INNER JOIN 表D AS d

ON c.part = d.part HAVING flag='1'

现在having之后是2条结果,我直接用 select count(*) xxxx 结果是4,不准确。
2744 次点击
所在节点    程序员
5 条回复
hennywei
2014-06-20 11:00:17 +08:00
group by 呢
qq2511296
2014-06-20 14:12:46 +08:00
select count(t.*) from (
SELECT *,一个表达式 AS flag FROM (这里2个表INNER JOIN) AS c

INNER JOIN 表D AS d

ON c.part = d.part HAVING flag='1'
) t

楼主这样测试结果是4?

HAVING好像是最后才执行 一般都是放在group by 后面的
coolicer
2014-06-20 15:38:18 +08:00
@qq2511296 我测试了是放后面才行。我直接在前端算长度了就知道总数,毕竟不多。
liprais
2014-06-20 15:45:50 +08:00
没看懂什么意思,lz不妨贴个例子?
coolicer
2014-06-20 15:58:19 +08:00
@qq2511296 刚才没看清你的例子,我没有试。

@liprais 目测2楼的应该可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/118567

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX