加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 将LIMIT 1添加到COUNT个查询

发布时间:2020-12-13 21:54:47 所属栏目:PHP教程 来源:网络整理
导读:这是我用来显示页面的COUNT查询: $sql = "SELECT SUM(num) as num FROM ( SELECT COUNT(URL) AS num,'World' AS GoSection,'GW' AS MySite FROM gw_geog WHERE URL = :MyURL AND G1 = 1UNION ALL SELECT COUNT(URL) AS num,'GW' AS MySite FROM gw_geog_pol
这是我用来显示页面的COUNT查询:

$sql = "
SELECT SUM(num) as num FROM (
  SELECT
    COUNT(URL) AS num,'World' AS GoSection,'GW' AS MySite
  FROM gw_geog
  WHERE URL = :MyURL AND G1 = 1
UNION ALL
  SELECT
    COUNT(URL) AS num,'GW' AS MySite
  FROM gw_geog_political
  WHERE URL = :MyURL
 ) AS X";

$stmt = $pdo->prepare($sql);
$stmt->bindParam(':MyURL',$MyURL,PDO::PARAM_STR);
$stmt->execute();
$Total = $stmt->fetch();

我想做两个改变:

1)从每行删除WHERE URL =:MyURL,并将其合并到查询末尾的单行中

2)通过添加LIMIT 1来重复Zap

这就是我现在正在使用的.

$sql = "SELECT SUM(num) as num FROM (
 SELECT COUNT(URL) AS num,'GW' AS MySite FROM gw_geog WHERE URL = :MyURL AND G1 = 1
 UNION ALL
 SELECT COUNT(URL) AS num,'GW' AS MySite FROM gw_geog_political WHERE URL = :MyURL
 ) AS X
WHERE X.URL LIKE :MyURL LIMIT 1";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':MyURL',PDO::PARAM_STR);
$stmt->execute();
$Total = $stmt->fetch();

但是,我收到错误消息Unknown column X.SUM(或X.URL等).

有人能告诉我这样做的正确方法吗?

解决方法

使用Query As Follows,您将获得所需的输出:

SELECT
    SUM(num) AS num
FROM
(
    SELECT
        COUNT(URL) AS num,'GW' AS MySite,gw_geog.`URL` as URL  
    FROM
        gw_geog
    WHERE
        URL = :MyURL
    AND G1 = 1
    UNION ALL
        SELECT
            COUNT(URL) AS num,gw_geog_political.`URL` as URL
        FROM
            gw_geog_political
        WHERE
            URL = :MyURL
) AS X
WHERE
    X.URL like  :MyURL
LIMIT 1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读