问题描述:sql查询的结果会变化,是不是因为TiDB的执行原理和MySQL不同
sql:
SELECT
zone_code,
zone_name,
count( shop_no ) shopCount,
sum( storeCount ) storeCount,
sum( goodsCount ) goodsCount,
max( update_time ) AS update_time
FROM
(
SELECT
a.shop_no,
a.shop_name,
b.zone_code,
b.zone_name,
a.storeCount,
b.goodsCount,
b.update_time
FROM
( SELECT shop_no, shop_name, count() storeCount,sharding_flag FROM table1 GROUP BY shop_no ) a
INNER JOIN ( SELECT sharding_flag,shop_no, zone_code, zone_name, max( update_time ) update_time, count() goodsCount FROM table2 GROUP BY shop_no ) b ON a.shop_no = b.shop_no
INNER JOIN shop sp ON sp.shop_no = b.shop_no
GROUP BY
a.shop_no
) t
WHERE
t.goodsCount > 1
AND t.storeCount > 1
AND DATE_SUB( CURDATE(), INTERVAL 60 DAY ) <= date( t.update_time )
GROUP BY
zone_code ,zone_name
ORDER BY
shopCount desc
结果: