是什么sql小提琴可以处理的限制? sql fiddle不编译任何内容,并且不返回任何错误消息 [英] is there a limit to what sql fiddle can handle? sql fiddle doesn't compile anything and returns no error messages

查看:176
本文介绍了是什么sql小提琴可以处理的限制? sql fiddle不编译任何内容,并且不返回任何错误消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近创建了一个成功编译并返回所需结果的查询。当我使用那段代码作为一个用户在stackoverflow上为我提供的另一段代码中的子查询时,我遇到了一些问题,最终解决了。我试图使用这个查询作为给我的代码片段中的子查询。但是,sql fiddle不返回任何东西。没有错误或编译的消息。当我试图把一个语法错误的目的,就像一个随机+符号,没有发生什么。是因为查询太长了吗?



架构

  CREATE TABLE sampleData 

id MEDIUMINT NOT NULL AUTO_INCREMENT,
timecode int,
count int,
PRIMARY KEY(id)

#ENGINE = MyISAM
;

INSERT INTO sampleData
(timecode,count)
VALUES
(1344893440,1),(1346014720,1),(1344898688,1), 1),(1345978368,1),
(1345959296,1),(1345064704,1),(1345156352,1),(1345225600,1),
(1345017984,1) 1),(1346019968,1),(1345834752,1),
(1345438464,1),(1344986880,1),(1345045632,1),(1345557888,1), 1345087232,1),(1345433216,1),(1345691008,1),
(1344917760,1),(1345253248,1),(1344934912,1),(1345890048,1),(1345272448,1) ,(1345829504,1),(1345798400,1),(1345203200,1),(1344741120,1),
(1345175552,1),(1344824192,1),(1344926336,1) 1),(1344931584,1),(1345211776,1),(1345059456,1),(1345516288,1),(1345441920,1),(1346009472,1)
/ pre>

查询

  select t_0。*,
(coalesce(t_3.average_number_of_votes_per_previous_period_days,0) - coalesce(t_4.average_number_of_votes_per_previous_period_days,0))* 100.0

(选择t。*,
(t_1.count,0) - coalesce(t_2.count,0))* 100.0作为百分比增加百分比


SELECT sum(1) (SUM(t2.count)-t1.count)/(sum(1)-1)作为average_number_of_votes_per_previous_period_days作为聚合,计算作为累计的
t1.id,t1.day,t1.count,SUM

FROM
(SELECT id,date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t2
on t1.day> = t2.day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t
left outer join

SELECT sum(1)AS ordr,
t1.id,t1.day,t1.count,SUM )作为聚合,(SUM(t2.count)-t1.count)/(sum(1)-1)asaverage_number_of_votes_per_previous_period_days
FROM
(SELECT id,date(FROM_UNIXTIME(timecode))AS日期(FROM_UNIXTIME(timecode))原样,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME时间代码))AS天,(FROM_UNIXTIME(时间代码))AS原始,COUNT(1)作为'计数'
FROM sampleData
GROUP BY DAY)t2
on t1.day> = t2 .day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t_1
on t.ordr = t_1.ordr + 1 left outer join

SELECT sum(1)as ordr,
t1.id,t1.day,t1.count,SUM(t2.count)as aggregate,(SUM(t2.count)-t1count )/(sum(1)-1)asaverage_number_of_votes_per_previous_period_days
FROM
(SELECT id,date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)作为'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original, COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t2
on t1.day> = t2.day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t_2
on t.ordr = t_2.ordr + 2)t_0
左外连接
(选择t。*,
(coalesce(t_1.count,0) - coalesce(t_2.count,0))* 100.0作为百分比增加百分比


SELECT sum )AS ordr,
t1.id,t1.day,t1.count,SUM(t2.count)作为聚合,(SUM(t2.count)-t1.count)/(sum(1)-1)作为average_number_of_votes_per_previous_period_days

FROM
(SELECT id,日期(FROM_UNIXTIME(时间代码))AS日,(FROM_UNIXTIME(时间代码))AS原始,COUNT(1) $ b FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as' count'
FROM sampleData
GROUP BY DAY)t2
on t1.day> = t2.day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t
left outer join

SELECT sum(1)AS ordr,
t1.id,t1.day,t1.count,SUM (t1.count)作为聚合,(SUM(t2.count)-t1.count)/(sum(1)-1)asaverage_number_of_votes_per_previous_period_days
FROM
(SELECT id,date(FROM_UNIXTIME时间代码))AS日,(FROM_UNIXTIME(时间代码))AS原来的COUNT(1)为'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
日期(FROM_UNIXTIME(时间代码))AS日,(FROM_UNIXTIME(时间代码))AS原始,COUNT(1)为'计数'
FROM sampleData
GROUP BY DAY)t2
> = t2.day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t_1
on t.ordr = t_1.ordr + 1 left outer加入

SELECT sum(1)AS ordr,
t1.id,t1.day,t1.count,SUM(t2.count) (SELECT_ID,日期(FROM_UNIXTIME(时间代码))AS日,(FROM_UNIXTIME(时间代码))AS原来的,作为average_number_of_votes_per_previous_period_days
FROM
COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode) )AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t2
on t1.day> = t2.day
GROUP BY t1.day ,t1.count
ORDER BY t1.day
)t_2
on t.ordr = t_2.ordr + 2)t_3
on t.ordr = t_3.ordr + 1
left outer join
(选择t。*,
(coalesce(t_1.count,0) - coalesce(t_2.count,0))* 100.0作为%增加百分比
from

SELECT sum(1)AS ordr,
t1.id,t1.day,t1.count,SUM(t2.count)as aggregate, (SELECT id,date(FROM_UNIXTIME(timecode))AS day,(日期时间)(日期)(日期(时间代码))的日期(时间代码:t1.count)-t1.count)/(sum(1)-1)asaverage_number_of_votes_per_previous_period_days

FROM
FROM_UNIXTIME(timecode))AS原来的COUNT(1)为'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME(timecode)) AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t2
on t1.day> = t2.day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t
left outer join

SELECT sum(1)AS ordr ,
t1.id,t1.day,t1.count,SUM(t2.count)作为聚合,(SUM(t2.count)-t1.count)/(sum(1)-1)作为average_number_of_votes_per_previous_period_days
FROM
(SELECT id,date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t2
on t1.day> = t2.day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t_1
on t.ordr = t_1.ordr + 1 left outer join

SELECT sum(1)AS ordr,
t1.id,t1.day,t1。计数,SUM(t2.count)作为聚合,(SUM(t2.count)-t1.count)/(sum(1)-1)作为average_number_of_votes_per_previous_period_days
FROM
(SELECT id,date (FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t1
INNER JOIN
(SELECT date(FROM_UNIXTIME(timecode))AS day,(FROM_UNIXTIME(timecode))AS original,COUNT(1)as'count'
FROM sampleData
GROUP BY DAY)t2
t1.day> = t2.day
GROUP BY t1.day,t1.count
ORDER BY t1.day
)t_2
on t.ordr = t_2.ordr + 2)t_4
on t_0.ordr = t_4.ordr + 2


解决方案

我在中插入了您的查询,现在我看到了问题。您的查询超过8000个字符(8423),我不会在结果面板上显示该消息。基本上,这是一个显示错误在SQL小提琴,我没有注意到之前(所以,感谢您将这一点我的注意!)。



同时,您可以尝试删除一些字符,使其符合8000个字符的限制。


I recently created a query that compiles successfully and returns the desired result. When I used that piece of code as a subquery in another piece of code that a user on stackoverflow came up with for me, I encountered a few problems, which were ultimately solved. I attempted to use this query as a subquery in that piece of code given to me. However, sql fiddle doesn't return anything. No errors or compiled messages. When I tried putting in a syntax error on purpose-like a random + sign, nothing happened. is it because the query is too long?

schema

CREATE TABLE sampleData 
    (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
      timecode int, 
     count int,
      PRIMARY KEY (id)
    )
#ENGINE=MyISAM
;

INSERT INTO sampleData
(timecode, count)
VALUES
(1344893440, 1), ( 1346014720, 1),( 1344898688,1),( 1345654784,1),( 1345978368,1),
( 1345959296,1), (1345064704,1), ( 1345156352,1),( 1345225600,1),
(1345017984,1),( 1345640960,1),( 1346019968,1),( 1345834752,1),
( 1345438464,1),( 1344986880,1),( 1345045632,1),( 1345557888,1),( 1344973056,1),( 1345087232,1),( 1345433216,1),( 1345691008,1),
( 1344917760,1),( 1345253248,1),( 1344934912,1),( 1345890048,1),( 1345272448,1), (1345829504,1),( 1345798400,1),( 1345203200,1),( 1344741120,1),
( 1345175552,1),( 1344824192,1),( 1344926336,1),( 1345571712,1),( 1344931584,1),( 1345211776,1),( 1345059456,1),( 1345516288,1),( 1345441920,1),( 1346009472,1)

query

select t_0.*,
           (coalesce(t_3.average_number_of_votes_per_previous_period_days, 0) - coalesce(t_4.average_number_of_votes_per_previous_period_days, 0)) * 100.0
    from 
        (select t.*,
           (coalesce(t_1.count, 0) - coalesce(t_2.count, 0)) * 100.0 as "percentage increase in count in %"
    from  
    (
      SELECT sum(1) AS ordr,
      t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"

      FROM 
        (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
        FROM sampleData
        GROUP BY DAY) t1
        INNER JOIN 
        (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
        FROM sampleData
        GROUP BY DAY) t2 
        on t1.day >= t2.day                                                                                                                                
        GROUP BY t1.day, t1.count
        ORDER BY t1.day
        )t 
      left outer join
         (
          SELECT sum(1) AS ordr,
            t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"
          FROM 
            (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
            FROM sampleData
            GROUP BY DAY) t1
          INNER JOIN 
            (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
            FROM sampleData
            GROUP BY DAY) t2 
          on t1.day >= t2.day                                                                                                                                
          GROUP BY t1.day, t1.count
          ORDER BY t1.day
          )t_1
       on t.ordr = t_1.ordr + 1 left outer join
         (
          SELECT sum(1) AS ordr,
            t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"
          FROM 
              (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
              FROM sampleData
              GROUP BY DAY) t1
            INNER JOIN 
              (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
              FROM sampleData
              GROUP BY DAY) t2 
            on t1.day >= t2.day                                                                                                                                
            GROUP BY t1.day, t1.count
            ORDER BY t1.day
            ) t_2
        on t.ordr = t_2.ordr + 2)t_0 
    left outer join
         (select t.*,
           (coalesce(t_1.count, 0) - coalesce(t_2.count, 0)) * 100.0 as "percentage increase in count in %"
    from  
    (
      SELECT sum(1) AS ordr,
      t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"

      FROM 
        (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
        FROM sampleData
        GROUP BY DAY) t1
        INNER JOIN 
        (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
        FROM sampleData
        GROUP BY DAY) t2 
        on t1.day >= t2.day                                                                                                                                
        GROUP BY t1.day, t1.count
        ORDER BY t1.day
        )t 
      left outer join
         (
          SELECT sum(1) AS ordr,
            t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"
          FROM 
            (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
            FROM sampleData
            GROUP BY DAY) t1
          INNER JOIN 
            (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
            FROM sampleData
            GROUP BY DAY) t2 
          on t1.day >= t2.day                                                                                                                                
          GROUP BY t1.day, t1.count
          ORDER BY t1.day
          )t_1
       on t.ordr = t_1.ordr + 1 left outer join
         (
          SELECT sum(1) AS ordr,
            t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"
          FROM 
              (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
              FROM sampleData
              GROUP BY DAY) t1
            INNER JOIN 
              (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
              FROM sampleData
              GROUP BY DAY) t2 
            on t1.day >= t2.day                                                                                                                                
            GROUP BY t1.day, t1.count
            ORDER BY t1.day
            ) t_2
        on t.ordr = t_2.ordr + 2) t_3
         on t.ordr = t_3.ordr + 1 
    left outer join
         (select t.*,
           (coalesce(t_1.count, 0) - coalesce(t_2.count, 0)) * 100.0 as "percentage increase in count in %"
    from  
    (
      SELECT sum(1) AS ordr,
      t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"

      FROM 
        (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
        FROM sampleData
        GROUP BY DAY) t1
        INNER JOIN 
        (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
        FROM sampleData
        GROUP BY DAY) t2 
        on t1.day >= t2.day                                                                                                                                
        GROUP BY t1.day, t1.count
        ORDER BY t1.day
        )t 
      left outer join
         (
          SELECT sum(1) AS ordr,
            t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"
          FROM 
            (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
            FROM sampleData
            GROUP BY DAY) t1
          INNER JOIN 
            (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
            FROM sampleData
            GROUP BY DAY) t2 
          on t1.day >= t2.day                                                                                                                                
          GROUP BY t1.day, t1.count
          ORDER BY t1.day
          )t_1
       on t.ordr = t_1.ordr + 1 left outer join
         (
          SELECT sum(1) AS ordr,
            t1.id,t1.day, t1.count, SUM(t2.count) as aggregate, (SUM(t2.count)-t1.count)/(sum(1)-1) as "average_number_of_votes_per_previous_period_days"
          FROM 
              (SELECT  id, date(FROM_UNIXTIME( timecode))  AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
              FROM sampleData
              GROUP BY DAY) t1
            INNER JOIN 
              (SELECT date(FROM_UNIXTIME( timecode) ) AS day,(FROM_UNIXTIME( timecode)) AS original, COUNT(1)  as 'count'
              FROM sampleData
              GROUP BY DAY) t2 
            on t1.day >= t2.day                                                                                                                                
            GROUP BY t1.day, t1.count
            ORDER BY t1.day
            ) t_2
        on t.ordr = t_2.ordr + 2) t_4
        on t_0.ordr = t_4.ordr + 2

解决方案

I've plugged your query in this fiddle, and I now see the problem. Your query is over 8000 characters long (8423 to be exact), and I'm not showing that message on the result panel. Basically, this is a display bug in SQL Fiddle that I've not noticed before (so, thanks for bringing this to my attention!).

In the mean time, you could try cutting out some of the characters to make it fit within the 8000 character limit.

这篇关于是什么sql小提琴可以处理的限制? sql fiddle不编译任何内容,并且不返回任何错误消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆