小编And*_*y M的帖子

MySQL:根据列值限制接收的结果数量 结合查询

我已经对这个问题进行了研究,但我找不到解决方案.

我有以下查询,给我一个"some_id"列表:

SELECT some_id FROM example GROUP BY some_id
Run Code Online (Sandbox Code Playgroud)

我有以下查询,将获得"some_id"等于数字的行的5个最新条目的列表.

SELECT * FROM example
WHERE some_id = 1
ORDER BY last_modified DESC
LIMIT 5
Run Code Online (Sandbox Code Playgroud)

如何只使用一个查询,为每个"some_id"从表"example"中获取前5个最新条目?如果"some_id"的条目少于5个,则可以包含它们,如果这样可以减少复杂性.

非常感谢!

mysql sql greatest-n-per-group

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

如何限制SQL中每个字段值的行数?

例如,我在Hive中有一个这样的表:

1 1
1 4
1 8
2 1
2 5
3 1
3 2
Run Code Online (Sandbox Code Playgroud)

我想只返回第一列的每个唯一值的前两行.我希望这能够限制我从Hive转移到MySQL以进行报告的数据量.我想要一个HiveQL查询给我这个:

1 1
1 4
2 1
2 5
3 1
3 2
Run Code Online (Sandbox Code Playgroud)

mysql sql hive greatest-n-per-group

8
推荐指数
2
解决办法
6748
查看次数

奇怪的"所有"在"哪里"

问题存在于MySQL的最新版本中,所以我甚至怀疑这可能是一个错误.

这是两个表:

t1(id int), values (10),(2)
t2(id int), values (0),(null),(1)
Run Code Online (Sandbox Code Playgroud)

执行:

select id from t1 where id > all (select id from t2);
Run Code Online (Sandbox Code Playgroud)

返回结果集:

+------+
| id   |
+------+
|   10 |
|    2 |
+------+
Run Code Online (Sandbox Code Playgroud)

根据我的知识和页面http://dev.mysql.com/doc/refman/5.5/en/all-subqueries.html

该语句应返回空结果!因为"where"中的每个判断都会导致null,如下所示:

select id > all (select id from t2)  as c1 from t1;
Run Code Online (Sandbox Code Playgroud)

收益:

+------+
| c1   |
+------+
| NULL |
| NULL |
+------+
Run Code Online (Sandbox Code Playgroud)

实际上select id from t1 where null;什么也没有回报

最后,我尝试了这个:

explain extended select id from t1 where …
Run Code Online (Sandbox Code Playgroud)

mysql sql

8
推荐指数
2
解决办法
450
查看次数

在一个脚本postgresql中创建数据库,表等

我有一个脚本:

CREATE DATABASE ahop

GO

CREATE TABLE shop.dbo.TABLE1 ( 
); 

CREATE TABLE shop.dbo.TABLEN ( 
); 
Run Code Online (Sandbox Code Playgroud)

但它似乎在PostgreSQL中不起作用.错误消息:"GO附近的错误".我不明白,如何在Postgresql中创建脚本?

sql postgresql postgresql-9.1

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

Play Framework 2在Intellij IDEA中运行JUnit测试

我使用Play Framework 2.0.4和Java + IntelliJ IDEA.

尝试从IDEA启动测试,并出现如下错误:

Class not found: "models.SoftwareTest"
Run Code Online (Sandbox Code Playgroud)

这是测试本身.

package models;

    public class SoftwareTest {

        @Test
        public void findById() {
            running(fakeApplication(), new Runnable() {
                @Override
                public void run() {
                    Software software1 = Software.find.byId(1L);
                    assertThat(software1.name).isEqualTo("Soft1");
                    assertThat(software1.description).isEqualTo("Description1");
                }
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何人?

PS我已经清理了所有项目/常春藤文件,已从播放2.0.4切换到2.1 RC1并返回..它没有帮助.但它过去有一天工作.我在谷歌找到了很多关于此的记录,但还没有找到答案.

我也查看了这篇文章(与Ebean和测试有关):

http://blog.matthieuguillermin.fr/2012/03/unit-testing-tricks-for-play-2-0-and-ebean/

但我现在遇到的问题是不同的.但只是在这里分享这个链接,它可以帮助重现问题.

这个:http://monocaffe.blogspot.com.es/2012/12/play-21-rc1-migration-mini-guide.html

java junit intellij-idea playframework-2.0

8
推荐指数
2
解决办法
5514
查看次数

子查询 - 如何引用外部查询值

以下查询工作正常:

SELECT 
   tblCase.ID AS CaseID, tblCase.UserID AS MyCasesFilter, 
   tblGroupMembership.UserID AS GroupShareFilter, 
   tblDirectCaseSharing.ReceiverUserID AS DirectShareFilter, tblCase.EntryDate, 
   tblUser.LastName AS CaseAuthor, tblCase.Name AS CaseName, 
   COUNT(DISTINCT tblCaseImage.ID) AS TotalImages, 
   tblCaseType.Name AS CaseType, tblCase.SiteName, tblCase.Category, 
   tblCase.FollowUpDateTime, tblCase.Notes
FROM     
   tblDirectCaseSharing 
RIGHT OUTER JOIN
   tblCase 
INNER JOIN tblUser ON tblCase.UserID = tblUser.ID ON tblDirectCaseSharing.CaseID = tblCase.ID 
LEFT OUTER JOIN
   tblGroupMembership 
INNER JOIN
   tblGroupCase ON tblGroupMembership.GroupID = tblGroupCase.GroupID ON tblCase.ID = tblGroupCase.CaseID 
LEFT OUTER JOIN
   tblCaseType ON tblCase.CaseTypeID = tblCaseType.ID 
LEFT OUTER JOIN
   tblCaseImage ON tblCase.ID = tblCaseImage.CaseID …
Run Code Online (Sandbox Code Playgroud)

sql sql-server subquery

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

有没有办法将FK从一个到另一个批量插入到两个表中?

我将给出一个当前方法的伪代码示例,如果有人知道某个方法一次不能运行一行,我会非常感激.我正在使用MS SQL Server 2008.

define cursor for the data to be inserted (about 3 million records)
loop
(
    insert record into table 1
    use scope_identity() to get key
    insert record into table 2 that references table 1
)
Run Code Online (Sandbox Code Playgroud)

我宁愿同时对两个表进行某种插入,因为游标和循环很慢.

在有人讨论为什么我在两个具有1对1关系的单独表中插入内容之前,这是因为第一个表无法修改,我需要第二个(临时)表中的信息以供稍后的数据转换操作参考.

不,我无法添加临时列来将参考数据保存到无法修改的表中,因为它无法修改.这是一个实时系统,我没有权限更改表.

谢谢!

附加信息:

防爆

Source:

1 a big  monkey
2 a tall elephant
3 a big  giraffe
4 a tiny cow
5 a tall cow

Dest:

Table 1       Table 2
monkey        1 big
elephant      2 tall
giraffe       3 big
cow …
Run Code Online (Sandbox Code Playgroud)

sql-server bulkinsert foreign-keys cursor scope-identity

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

如何在delphi中拆分字符串

我只需要将一个字符串拆分为:"STANS", "Payment, chk#1", ,1210.000基于的数组,.字符串列表中的结果是

STANS  
Payment, chk#1  

1210.000
Run Code Online (Sandbox Code Playgroud)

delphi delphi-2010

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

使用SQLAlchemy过滤sql count(*)

如何使用SQLAlchemy执行以下SQL查询?

SELECT COUNT (*)
FROM det_factura
WHERE company = 31
  AND date::text LIKE '2011-05% ';
Run Code Online (Sandbox Code Playgroud)

sql filtering sqlalchemy count

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

如何根据不同的列数据进行选择

我想根据列数据执行不同的SELECT.例如,我有一个表http://sqlfiddle.com/#!2/093a2,我只想在use_schedule = 1时比较start_date和end_date.否则选择所有数据.(一个不同的选择)基本上我只想比较起始和结束日期,如果只有use_schedule是1,如果use_schedule是0然后选择其余的数据.

一个例子可能是这样的

select id, name from table
where use_schedule = 0 
else 
select id, name, start_date from table 
where use_schedule = 0 and current_date >= start_date.
Run Code Online (Sandbox Code Playgroud)

基本上我有数据启用计划,然后查看开始和结束日期.因为如果没有启用计划,则无需查看日期.只需选择数据即可.启用计划后,我希望在选择计划数据时更具选择性.

我试图弄清楚MySQL CASE或IF语句是否可行但不能这样做.我怎么能运行这个选择?

谢谢.

mysql sql select if-statement

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