需要帮助进行优化

用户名

我有一个MySQL查询,需要帮助进行优化

(
SELECT
    a.`CODE`, 
    a.`TITLE`,  
    a.`TEXT`, 
    a.`CODE_RUBRIC`,  
    r.`NAME` 
FROM 
    `ARTICLE` a,
    `RUBRIC` r
WHERE
    a.`CODE_TYPE` = '2'
    AND a.`CODE_RUBRIC` =  r.`CODE`
    AND r.`VIEW` = '1'
    AND DATE_ADD(NOW(), INTERVAL -31 DAY) <  `DATE` 
    GROUP BY r.`CODE` 
    ORDER BY RAND()
) UNION (
SELECT
    a.`CODE`, 
    a.`TITLE`,  
    a.`TEXT`, 
    "BOOK",  
    "BOOK" 
FROM
    `RUBRIC` r,
    `ARTICLE` a
WHERE
    a.`CODE_TYPE` =  '2'
    AND a.`CODE_RUBRIC` = r.`CODE`
    AND `JOURNAL` = '1'
    AND DATE_ADD(NOW(), INTERVAL -31 DAY) < a.`DATE`
    GROUP BY r.`CODE`
    ORDER BY RAND() 
    LIMIT 1
)

因此,我有两个表ARTICLE和RUBRIC,第一个选择为每个RUBRIC返回一个ARTICLE,其中RUBRIC.VIEW的值为'1'。第二选择返回一个结果,我通过“ BOOK”手动确定最后两列。

戈登·利诺夫(Gordon Linoff)

您可以使用变量简化查询,一次完成所有工作。想法是保留两个变量,每个不同值的计数:

SELECT ar.*
FROM (SELECT ar.*,
             if(`view` = 1, @rnv := @rnv + 1, NULL) as rnv,
             if(`journal` = 1, @rnj := @rnj + 1, NULL) as rnj
      FROM (SELECT a.`CODE`, a.`TITLE`, a.`TEXT`, a.`CODE_RUBRIC`, r.`NAME` 
            FROM `ARTICLE` a JOIN
                 `RUBRIC` r
                 ON a.`CODE_RUBRIC` =  r.`CODE`
            WHERE a.`CODE_TYPE` = '2' AND
                  (r.`VIEW` = '1' OR r.JOURNAL = 1) AND
                  DATE_ADD(NOW(), INTERVAL -31 DAY) <  `DATE` 
            GROUP BY r.`CODE` 
           ) ar CROSS JOIN
           (select @rnv := 0, @rnj := 0) vars
      ORDER BY RAND()
     ) ar
WHERE rnv = 1 or rnj = 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要帮助进行搜索优化

来自分类Dev

返回值的C ++函数,需要帮助进行优化

来自分类Dev

需要MySQL查询优化帮助

来自分类Dev

需要帮助优化SQL查询

来自分类Dev

FFMPEG 需要帮助优化命令

来自分类Dev

需要帮助优化laravel-PHP代码

来自分类Dev

需要帮助在VBA中优化SUMIFS

来自分类Dev

需要帮助优化Vanilla JS功能

来自分类Dev

在优化以下代码时需要帮助

来自分类Dev

需要帮助优化此 Sql 查询

来自分类Dev

在linux bash脚本方面需要帮助,以递归方式查找pdf文件并对其进行优化,并保留原始时间戳

来自分类Dev

需要帮助来优化查询中的处理数据

来自分类Dev

MySql:获得排名繁重的查询优化-需要帮助

来自分类Dev

我需要一些帮助来优化python代码

来自分类Dev

需要帮助来优化一个简单的查询

来自分类Dev

我需要一些帮助来优化查询

来自分类Dev

需要认真帮助优化脚本以使用内存

来自分类Dev

需要帮助优化 LibGDX、SpriteBatch 上的纹理绘制

来自分类Dev

在进行SQL查询时需要帮助

来自分类Dev

代码错误,需要帮助进行调试,Python

来自分类Dev

需要帮助构造查询以对相关元素进行分组

来自分类Dev

需要帮助以base64编码的MySQL字段进行搜索

来自分类Dev

在XSLT中需要帮助以进行时区转换

来自分类Dev

需要使用模型属性进行帮助导轨布线

来自分类Dev

需要帮助与Vapor 3中的Fluent进行许多匹配

来自分类Dev

需要帮助在Swift中按时间戳对结构进行排序

来自分类Dev

需要帮助按年份和区分月份对行进行分组

来自分类Dev

平均模式-在SQL Server中需要帮助进行计算

来自分类Dev

使用硒自动进行网络测试需要帮助

Related 相关文章

热门标签

归档