我正在创建一个使用Javascript下载的csv文件,除了IE(我已经测试过8和10)之外,它在所有方面都运行得很好.
在IE8中,当我单击按钮创建并下载文件时,我收到错误并说出来"The data area passed to a system call is too small".在IE10中,当我单击按钮时,它只会打开一个新选项卡,其中包含我在地址栏中创建的URL但不下载任何内容.
任何想法这个错误意味着什么?
我在一个按钮中有这个代码:
var csvContent = "data:text/csv;charset=utf-8,";
csvContent += escape(myCSVvariable);
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
Run Code Online (Sandbox Code Playgroud)
这与这个问题有关,但我开始了一个新问题,因为我在更改了一些内容后出现了不同的错误 - 如何使用Javascript创建和下载csv文件?
我已经看过很多关于这个场景的问题/论坛帖子,但是我要么不理解解决方案,要么提供的解决方案对于那个特定问题太具体了,我不知道如何将它应用到我的情况中.我有以下查询:
SELECT DISTINCT d.*
FROM Data d
JOIN Customers c
ON c.Customer_Name = d.Customer_Name
AND c.subMarket = d.subMarket
JOIN Sort s
ON s.Market = c.Market
ORDER BY d.Customer_Name, d.Category, d.Tab, d.SubMarket,
CASE s.sortBy
WHEN 'Comp_Rank'
THEN d.Comp_Rank
WHEN 'Market_Rank'
THEN d.Market_Rank
ELSE d.Other_Rank
END
Run Code Online (Sandbox Code Playgroud)
我在MySQL数据库上使用了那个确切的查询,它运行得很好.我们最近切换到SQL Server数据库,现在它不起作用,我收到错误:
ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
Run Code Online (Sandbox Code Playgroud)
我已经尝试将s.*添加到SELECT中(因为s.sortBy在CASE中)并且没有改变任何东西我也尝试列出Data中的每个字段并在SELECT中排序并且导致相同的精确错误.
数据中实际上没有重复,但是当我进行连接时,每个项目会产生4个完全重复的行,我不知道如何修复它,这就是我最初添加DISTINCT的原因.我尝试了LEFT JOIN,INNER JOIN等等的各种变化......并且无法获得不同的结果.无论如何,任何一个问题的解决方案都可以,但我假设需要更多信息才能找出JOIN重复问题.
编辑:我刚刚意识到我错误地输入了ORDER BY中的一些字段(例如,n.Category,n.Tab应该是d.Category,d.Tab).ORDER BY中的所有内容都来自我选择的数据表*.正如我所说,我也尝试列出SELECT中的每个字段,但没有帮助.
我玩了很多棋盘游戏,并且我维护着一个跟踪几个统计数据的站点/数据库.其中一个表记录了不同的时间.它的结构如下:
基本上,我想要做的是利用这些时间来获取一些有趣/有用的信息(比如平均花费最长的游戏设置,平均花费的游戏时间最长,游戏最长的是什么到达完成等等...)通常情况下,我过分依赖PHP而且我只会做一个select*...并且一直抓住然后做一些PHP计算来查找所有的统计数据但我知道MySQL可以通过查询为我做所有这些.不幸的是,当谈到更复杂的查询时,我很失落,所以我想要一些帮助.
我想要几个查询的一些例子,希望一旦有人让我开始,我可以找出其他平均时间查询.对于玩棋盘游戏,平均查询时间最长的是什么?平均设置最快的游戏/时间怎么样?
附加信息: drew010 - 你让我有一个良好的开端,但我没有得到我期望的结果.我给你一些真正的例子......我有一个叫做哈珀的游戏,它已被播放了两次(所以数据库中有两个记录有时间).以下是它的时代:
beginSetup(1) = 2012-07-25 12:06:03
startPlay(1) = 2012-07-25 12:47:14
gameEnd(1) = 2012-07-25 13:29:45
beginSetup(2) = 2012-08-01 12:06:30
startPlay(2) = 2012-08-01 12:55:00
gameEnd(2) = 2012-08-01 13:40:32
Run Code Online (Sandbox Code Playgroud)
然后我运行你提供给我的查询(并将秒转换为小时/分钟/秒)我得到了这些结果(对不起,我不知道如何做你所做的酷表):
gameName = Harper
Total Time = 03:34:32
...and other incorrect numbers.
Run Code Online (Sandbox Code Playgroud)
从数字来看,平均总时间应该是大约1小时24分钟 - 而不是3小时34分钟.知道为什么我的数字不正确吗?
我使用的是 OS X 10.9(不过,它在 10.8 中是一样的)
我正在尝试将 display_errors 设置为 On 但无法弄清楚。我在 /etc 中没有 php.ini 文件,所以我复制了 /etc/php.ini.default cp /etc/php.ini.default /etc/php.ini。
然后我进入 /etc/php.ini 并取消注释该行display_errors并将其设置为 On - display_errors=On。保存文件并转到phpinfo().
对于“配置文件(php.ini)”路径,它显示“/etc”,对于“加载的配置文件”,它显示“/etc/php.ini”,所以我认为这意味着它使用了正确的php.ini文件,对吗?
但是,当我在 phpinfo() 中向下滚动时,对于本地值和主值,它都将“display_errors”显示为关闭。
我究竟做错了什么?还有其他地方需要打开 display_errors 吗?我正在使用 PHP 5.4.17
编辑:忘了提到我已经重新启动了 apache 几次sudo apachectl restart,但仍然没有变化。
此外,我发现奇怪的是,在我将 php.ini.default 复制到 /etc/php.ini 之前,php 可能使用了一些默认的 php.ini 文件,但 display_errors 仍然设置为 Off。不是默认开启吗?
我有一个像这样的表设置:
fruit1 | fruit2 | fruit3 | fruit4 | number1 | number2 | number3 | number4
--------------------------------------------------------------------------
apple | orange | banana | berry | 5 | 2 | 1 | 4
orange | banana | apple | berry | 3 | 2 | 5 | 2
berry | banana | orange | apple | 1 | 2 | 5 | 2
Run Code Online (Sandbox Code Playgroud)
我需要一个MySQL查询来计算每个水果每个数字的次数.所以,它最终会是这样的:
Fruit | 5's | 4's | 3's | 2's | 1's
-----------------------------------
Apple | 2 | 0 …Run Code Online (Sandbox Code Playgroud) 我有一个包含Display_UPC,Brand,Item_Description和其他字段的表.有几个具有相同Display_UPC的项目(所有项目属于同一显示器),并且一些显示器具有多个品牌.
我正在尝试打印一个页面,其中显示所有显示内容(所有Display_UPC一起)和各种项目描述,但按品牌排序(因此它从页面顶部的"A"品牌开始,然后" B"品牌等......).
问题是,如果我尝试:
SELECT DISTINCT *
FROM tbl_All_Displays
ORDER BY Brand, Display_UPC
Run Code Online (Sandbox Code Playgroud)
一些显示器(包含多个品牌的显示器)缺少一些物品,因为它们是不同的品牌.我可以在ORDER BY中删除"Brand",它会一起返回完整的显示,但它们不按品牌(显然)排序.
我猜这里可能需要GROUP BY,但是我无法让它工作.如果我尝试类似的东西:
SELECT DISTINCT *
FROM tbl_All_Displays
GROUP BY Display_UPC
ORDER BY Brand, Display_UPC
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Column 'tbl_All_Displays.Item_Description' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Run Code Online (Sandbox Code Playgroud)
但我需要在页面上显示Item_Description(和其他各种字段).它们在订购/分组中并不重要.
样本数据:
预期结果样本:
因此,基本上,查询在排序中使用的显示中的哪个品牌无关紧要.如果一个展示包含一个品牌,那么它可以属于该品牌"团体",如果这是有道理的.这可能吗?
注意:我删除并重新发布了一个普遍的问题,因为它编辑混乱.
编辑:这是sqlfiddle与示例表数据 - http://sqlfiddle.com/#!6/5069c