【发布时间】:2023-04-04 06:57:01
【问题描述】:
哪个最快/最有效?两者都有效。
解决方案 1. 按 id 分组:
SELECT
*,
COUNT(*) AS pages
FROM
notis
WHERE
cid = 20
GROUP BY
n.id
ORDER BY
nid DESC
解决方案 2. 在子查询中计数:
SELECT
*,
(select count(*) FROM notis WHERE cid=20) AS count
FROM
notis
WHERE
cid = 20
ORDER BY
nid DESC
【问题讨论】:
-
Downvoter:您不喜欢我好奇的问题的原因将不胜感激。提前致谢!
-
这些看起来不会产生等效的输出。
-
第一个是无效的(标准)SQL,MySQL 不会拒绝它,而是返回随机数据。
标签: mysql sql optimization query-optimization