问题列表 - 第11624页

为什么MySQL允许"分组"查询没有聚合函数?

惊喜 - 这是MySQL中完全有效的查询:

select X, Y from someTable group by X
Run Code Online (Sandbox Code Playgroud)

如果您在Oracle或SQL Server中尝试过此查询,则会收到自然错误消息:

Column 'Y' 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)

那么MySQL如何确定每个X显示哪个Y?它只选了一个.据我所知,它只是挑选它找到的第一个Y. 理由是,如果Y既不是聚合函数也不是group by子句,那么在查询中指定"select Y"就没有意义.因此,我作为数据库引擎将返回我想要的任何内容,你会喜欢它.

甚至还有一个MySQL配置参数来关闭这种"松散". http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by

本文甚至提到MySQL在这方面如何被批评为ANSI-SQL不兼容. http://www.oreillynet.com/databases/blog/2007/05/debunking_group_by_myths.html

我的问题是: 为什么 MySQL是这样设计的?打破ANSI-SQL的理由是什么?

mysql sql standards-compliance ansi-sql

59
推荐指数
2
解决办法
2万
查看次数

具有追加模式的Java FileWriter

我目前正在使用FileWriter创建和写入文件.有没有什么方法可以每次都写入同一个文件而不删除其中的内容?

   fout = new FileWriter(
    "Distribution_" + Double.toString(_lowerBound) + "_" + Double.toString(_highBound) + ".txt");
    fileout = new PrintWriter(fout,true);
fileout.print(now.getTime().toString() + ", " + weight + ","+ count +"\n");
    fileout.close();
Run Code Online (Sandbox Code Playgroud)

java filewriter

37
推荐指数
3
解决办法
8万
查看次数

GWT脚手架

是否有类似于Ruby on Rails Scaffolding的东西用于创建GWT CRUD?

gwt

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

为什么我在javascript中添加2 + 4时会得到24

我在尝试这个:

function add_things() {
  var first = '2';
  var second = '4';
  alert(first + second);
}
Run Code Online (Sandbox Code Playgroud)

但它给了我24而不是6,我做错了什么?

javascript

10
推荐指数
4
解决办法
754
查看次数

初始化成员变量

我已经开始采用这种模式了:

template<typename T>
struct DefaultInitialize
{
   DefaultInitialize():m_value(T()){}
   // ... conversions, assignments, etc ....
};
Run Code Online (Sandbox Code Playgroud)

因此,当我有原始成员的类时,我可以将它们设置为在构造时初始化为0:

struct Class
{
  ...
  DefaultInitialize<double> m_double;
  ...
};
Run Code Online (Sandbox Code Playgroud)

我这样做的原因是为了避免必须记住在每个构造函数中初始化成员(如果有多个构造函数).我想弄清楚是否:

  • 这是一个有效的模式?
  • 我使用正确的术语?

c++

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

SQL - 两个外连接

我有一个代表国家/地区列表的表格。我有另一个代表状态列表的表。我有另一个代表省份列表的表格。由于数据定义不佳,有些州实际上在省表中,反之亦然。无论如何,每个省和州都与一个国家相关联。

我基本上需要做一个双左外连接。我的问题是,我该怎么做?这是我目前正在尝试的:

select
  c.Name as 'CountryName',
  ISNULL(p.[Name], '') as 'ProvinceName',
  ISNULL(s.[Name], '') as 'StateName'
from
  Country c 
    left outer join [Province] p on p.[CountryID]=c.[ID]
    left outer join [State] s on s.[CountryID]=c.[ID]
Run Code Online (Sandbox Code Playgroud)

请注意,我需要做一些与两个左外连接相当的事情。这是我正在尝试执行的查询的简化版本。感谢您的帮助!

sql

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

如何让MySQL数据库中的列成为其他列的函数?

我正在使用一个数据库来跟踪读者在书中的位置.我通过页面计数列和当前页面列来完成此操作.

有没有办法添加一个等于(currentpage/pagecount)的'progress'列?

mysql alter

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

我如何在SQL 2000中使用TryParse?

我在旧的SQL 2000数据库中有一个存储过程,该数据库采用格式化为varchar的注释列并将其作为money对象导出.在设置此表结构时,假设这将是进入此字段的唯一数据.目前的程序只是这个:

SELECT CAST(dbo.member_category_assign.coment AS money)
  FROM dbo.member_category_assign
 WHERE member_id = @intMemberId
       AND 
       dbo.member_category_assign.eff_date <= @dtmEndDate
       AND 
       (
        dbo.member_category_assign.term_date >= @dtmBeginDate
        OR 
        dbo.member_category_assign.term_date Is Null
       )
Run Code Online (Sandbox Code Playgroud)

但是,现在正在将数据插入到此列中,该列无法解析为money对象并导致该过程崩溃.我无法删除"坏"数据(因为这是第三方产品),但需要更新存储过程以测试可解析的钱条目并返回该条目.

如何更新此过程以便它只返回可解析为money对象的值?我是否创建了一个临时表并遍历每个项目,或者是否有更聪明的方法来执行此操作?我坚持使用旧版SQL 2000(版本6.0),因此不幸使用任何较新的功能.

t-sql parsing sql-server-2000

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

c#标识符预计?

我正在尝试创建一个程序,将所有文件从一个目录复制到另一个目录.但我正在运行一个基本问题.它说,当我尝试在第52行编译时,标识符会出现.

public bool RecursiveCopy()
{
    string origDir = @"D:\Documents and Settings\Dub\My Documents\HoN Updates\test";
    string destDir = @"C:\Games\HoN";
    bool status = false;

    //get all the info about the original directory
    var dirInfo = new DirectoryInfo(origDir);

    //retrieve all the _fileNames in the original directory
    var files = dirInfo.GetFiles(origDir);

    //always use a try...catch to deal 
    //with any exceptions that may occur
    try
    {
        //loop through all the file names and copy them
        foreach (string file in Directory.GetFiles(origDir))
        {
            var origFile = new FileInfo(file); …
Run Code Online (Sandbox Code Playgroud)

c#

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

3.0.1更新后问题配置iPhone

我以前能够在运行3.0的iPhone上运行我的应用程序.我更新到3.0.1后,我收到错误:

未配置已配置的iPhone OS设备.

我在终端上关注了Apple的指南:

ln -s /Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.0\ \(7A341\) / 
Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.0.1 
Run Code Online (Sandbox Code Playgroud)

但这没有帮助.

iphone xcode objective-c

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