小编Jac*_*ard的帖子

为什么我在IE中收到此错误:"传递给系统调用的数据区域太小"?

我正在创建一个使用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文件?

javascript csv excel internet-explorer internet-explorer-8

16
推荐指数
2
解决办法
6547
查看次数

SQL Server选择Distinct并使用CASE排序

我已经看过很多关于这个场景的问题/论坛帖子,但是我要么不理解解决方案,要么提供的解决方案对于那个特定问题太具体了,我不知道如何将它应用到我的情况中.我有以下查询:

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中的每个字段,但没有帮助.

sql case distinct sql-order-by

6
推荐指数
1
解决办法
5694
查看次数

Mysql查询到平均时间

我玩了很多棋盘游戏,并且我维护着一个跟踪几个统计数据的站点/数据库.其中一个表记录了不同的时间.它的结构如下:

  • gameName(文本 - 棋盘游戏的名称)
  • numPeople(int - 播放的人数)
  • timeArrived(时间戳 - 我们到达我们正在玩游戏的房子的时间)
  • beginSetup(时间戳 - 我们开始设置游戏的时间)
  • startPlay(时间戳 - 我们实际开始玩游戏的时间)
  • gameEnd(时间戳 - 游戏结束的时间)

基本上,我想要做的是利用这些时间来获取一些有趣/有用的信息(比如平均花费最长的游戏设置,平均花费的游戏时间最长,游戏最长的是什么到达完成等等...)通常情况下,我过分依赖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分钟.知道为什么我的数字不正确吗?

php mysql sql time average

5
推荐指数
1
解决办法
3002
查看次数

display_errors 设置为 On 但在 phpinfo() 中显示为 Off

我使用的是 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。不是默认开启吗?

php apache phpinfo

2
推荐指数
1
解决办法
2180
查看次数

我组织严密的表格的另一个问题

我有一个像这样的表设置:

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)

mysql sql pivot count

1
推荐指数
1
解决办法
52
查看次数

需要SQL查询才能组合在一起但整体排序

我有一个包含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

sql sql-server group-by sql-order-by

0
推荐指数
1
解决办法
245
查看次数