【问题标题】:How to use SELECT inside COUNT in MYSQL如何在 MYSQL 的 COUNT 中使用 SELECT
【发布时间】:2015-07-26 12:57:18
【问题描述】:

我有这样的看法:

myVIEW: (id,percent)

我想再做一个视图,会是这样的:

LASTVIEW:(lastID、lastPR、计数器)

在“柜台”中,在每一行中,我都想知道货币 id 的百分比比这一行的百分比大多少。所以我尝试了:

CREATE VIEW LASTVIEW(lastID, lastPR, counter) AS
SELECT id AS lastID, percent AS lastPR
COUNT (SELECT id FROM myVIEW WHERE percent < lastPR) AS counter,
FROM myVIEW;

【问题讨论】:

  • 将您的其他查询用作FROM 中的子查询。阅读this

标签: mysql sql view count


【解决方案1】:

你快到了。试试这个:

SELECT id AS lastID, percent AS lastPR, (SELECT Count(id) 
FROM myVIEW bigger 
WHERE bigger.percent > myv.percent) AS counter
FROM myVIEW myv 

【讨论】:

  • 它有效!谢谢!但我有一个奇怪的分段错误(核心转储)!
  • 你知道为什么是Segmentation吗?
  • 我不知道数据库系统是如何出现分段错误的。您是否使用自己的程序来运行查询?如果是这样,我们需要检查您的代码。
  • 好的,我把它放在编辑中。和以前的参数不一样了,因为现在我把真实的代码复制粘贴了
  • 检查 my_cmd 的大小。您现在有一个更长的查询。
【解决方案2】:

使用以下选择查询来创建您的视图

SELECT lastID,lastPR,counter
FROM (SELECT A.id AS lastID,A.percent AS lastPR,count(B.id) AS counter
FROM myVIEW A,myVIEW B WHERE B.percent<A.percent
GROUP BY A.id,A.percent)

【讨论】:

    猜你喜欢
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2017-10-22
    • 2015-04-18
    相关资源
    最近更新 更多