【发布时间】:2020-07-12 09:19:05
【问题描述】:
你好,玩得开心。
我有这样的疑问:
SELECT DISTINCT SQL_CALC_FOUND_ROWS SUBSTRING(color, 1, 3) as color FROM colors WHERE color LIKE '$color%' AND ottenok LIKE '$ottenok%';
然后:
SELECT FOUND_ROWS();
用于获取所有记录,就像它没有 DISTINCT 一样。但是在 SELECT FOUND_ROWS() 之后,我只得到了唯一的记录。
在搜索引擎中没有找到有关将 SQL_CALC_FOUND_ROWS 与 DISTINCT 结合使用的信息。所以我正在寻找建议,我如何编辑我的查询以能够同时获得大量 - 独特的和非独特的。
附言当然,我知道我可以从我的查询中删除“不同”,并在我的 sql 查询之后使用 php 函数 array_unique() 获得一个唯一列表,但这不适合我,我只需要使用 sql 来解决这个任务。 ..
【问题讨论】:
-
SELECT FOUND_ROWS()仅检索在上一个查询中计算的值。它不会启动一个新的查询,更不用说一个完全不同的查询了。
标签: mysql