我正在努力查询需要SUM DISTINCT Rows的查询.必须有办法做到这一点......但我迷路了.
这是我得到的:
SELECT DISTINCT Zipcodes.CountyID,
us_co_est2005_allData.PopEstimate2005,
us_co_est2005_allData.EstimatesBase2000,
users_link_territory.userID
FROM
Zipcodes Inner Join Users_link_territory ON zipcodes.CountyID =
Users_link_territory.CountyID Inner Join
us_co_est2005_alldata ON zipcodes.FIPS = us_co_est2005_alldata.State AND zipcodes.code
= us_co_est2005_alldata.County
WHERE (users_link_territory.userid = 4)
Run Code Online (Sandbox Code Playgroud)
这给了我34行,它们为属于userid4的每个县提供了不同的人口数,但是我如何获得PopEstimate2005和EstimatesBase2000的SUM?
像(但这不是一个合法的查询):
SELECT DISTINCT Zipcodes.CountyID,
SUM(us_co_est2005_allData.PopEstimate2005) AS Population2005,
SUM(us_co_est2005_allData.EstimatesBase2000) AS Population2000,
users_link_territory.userID
FROM
Zipcodes Inner Join Users_link_territory ON zipcodes.CountyID =
Users_link_territory.CountyID Inner Join
us_co_est2005_alldata ON zipcodes.FIPS = us_co_est2005_alldata.State AND zipcodes.code
= us_co_est2005_alldata.County
WHERE (users_link_territory.userid = 4)
GROUP BY users_link_territory.userid
Run Code Online (Sandbox Code Playgroud)
当然,只要我将Zipcodes.CountyID添加到GroupBy的末尾,我就会再次回到我的34行.
非常感谢您的帮助.
拉塞尔舒特.....
获得以下帮助后 - 特别是Robb的帮助 - …
有一个名为contacts列的表id, name, address, ph_no等.
我需要查找具有相同name行的行,如果行计数大于1,则显示这些行.
例如:
表:contacts
id--------name--------address---------ph_no--------
111 apple U.K 99*******
112 banana U.S 99*******
123 grape INDIA 99*******
143 orange S.AFRICA 99*******
152 grape KENYA 99*******
Run Code Online (Sandbox Code Playgroud)
对于上面的表,我需要获得具有相同列name数据的行,如下所示:
id--------name--------address---------ph_no--------
123 grape INDIA 99*******
152 grape KENYA 99*******
Run Code Online (Sandbox Code Playgroud)
我需要根据名称获取行作为参数,如下面的example语法:
select * from contacts where name='grape' and it's count(*) >1 return those rows.
Run Code Online (Sandbox Code Playgroud)
如何实现上述问题的解决方案.
我有以下数据帧(df1):
Run Code Online (Sandbox Code Playgroud)ID someText PSM OtherValues ABC c 2 qwe CCC v 3 wer DDD b 56 ert EEE m 78 yu FFF sw 1 io GGG e 90 gv CCC r 34 scf CCC t 21 fvb KOO y 45 hffd EEE u 2 asd LLL i 4 dlm ZZZ i 8 zzas
我想折叠第一列并添加相应的PSM值,我想得到以下输出:
ID Sum PSM
ABC 2
CCC 58
DDD 56
EEE 80
FFF 1
GGG 90
KOO 45
LLL 4
ZZZ 8
Run Code Online (Sandbox Code Playgroud)
它似乎可以使用聚合函数,但不知道语法.任何帮助真的很感激!谢谢.
我有一个MS Access数据库,其中包含源 - 目标对中的翻译句子(CAT工具的其他用户的翻译记忆库).有点烦人的是,源和目标不是存储在单独的列中,而是存储在由ID链接的行中,如下所示:
+---+----+--------------+
|id |lang| text |
+---+----+--------------+
1 a lang a text
1 b lang b text
2 a more a text...
2 b more b text...
+---+----+--------------+
Run Code Online (Sandbox Code Playgroud)
我可以使用什么SQL将其转换为表格,例如:
+---+--------------+--------------+
|id | lang A | lang B |
+---+--------------+--------------+
1 lang a text lang b text
2 more a text... more b text...
Run Code Online (Sandbox Code Playgroud)
性能在这里并不重要,因为我只需要偶尔执行一次,并且db不是很大(只有几千行).
我设法让我的表中的行可以单击并链接到元素的href属性<a>.但是当我使选择器只选择除最后一列之外的行时,我开始遇到问题.
使用下面的代码,可点击的行仅对整个行有效,除了最后一个单元格,这是我需要的,因为我在此单元格中有管理链接(链接以激活,编辑,删除等行).唯一的问题是,无论您点击哪一行,它都会将您发送到最上一行的链接.我认为这与我的选择器有关,find('td a')但我无法弄明白.
$('#dataTable tr td:not(:last-child)').click(function () {
location.href = $('#dataTable tr').find('td a').attr('href');
});
Run Code Online (Sandbox Code Playgroud)
悬停效果很好,只有当鼠标位于除最后一列之外的任何单元格上方时才会更改指针.
$('#dataTable tr td:not(:last-child)').hover(
function() {
$(this).css('cursor','pointer');
},
function() {
$(this).css('cursor','auto');
}
);
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个只有两行的gridview.我的目的是使它看起来像一个有两排的画廊,一个在另一个上面,并有一个水平卷轴.我看到您可以更改gridview中的列数,但无法找到如何更改行数.我感谢任何帮助,如果不可能使用gridview也欣赏任何想法.
这段代码
CurrentSelectedRow = Me.dgvPreviouslyCut.CurrentRow.Index
Run Code Online (Sandbox Code Playgroud)
存储用户在数据网格视图控件中单击的当前所选行.刷新数据网格视图的数据源后,此代码
Me.dgvPreviouslyCut.Rows(CurrentSelectedRow).Selected = True
Run Code Online (Sandbox Code Playgroud)
以编程方式重新选择同一行.
之后立即
Me.dgvPreviouslyCut.CurrentRow.Index
Run Code Online (Sandbox Code Playgroud)
始终设置为零,而不是您期望的变量CurrentSelectedRow.
为什么以编程方式设置选择行索引不会导致属性CurrentRow.Index设置为相同?
首先,我是PDO的新手.我正在做一个小项目来提高自己.
我正在使用这样的代码从我的数据库中获取单行:
$sql = "SELECT * FROM users WHERE ID = 1";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
并回显该行的任何结果:
echo $user['ID'];
echo $user['Name'];
Run Code Online (Sandbox Code Playgroud)
我只需要使用一个查询就可以从我的数据库中获取多行.我不想一遍又一遍地查询我需要的每一行.
我想到的第一件事就是尝试这个:
$sql = "SELECT * FROM users WHERE ID = 1 AND ID = 4 AND ID = 17";
$sql_prepare = $db -> prepare($sql);
$result = $db -> query($sql);
$user = $result -> fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
但它没有按预期工作.我研究了几个小时的编码论坛,但所有答案都是关于使用fetchAll方法,然后使用foreach循环输出结果.我不想通过加载整个数据库表来拉紧代码.我只想使用一个查询从我的数据库加载特定的行.
所以我的问题是:
如何在不使用fetchAll方法且只使用一个查询的情况下从数据库中获取多个特定行?
感谢您提前的答案和时间.
对不起,如果之前有问题.
我正在尝试在pandas中交换相同DataFrame中的行.
我试过跑步
a = pd.DataFrame(data = [[1,2],[3,4]], index=range(2), columns = ['A', 'B'])
b, c = a.iloc[0], a.iloc[1]
a.iloc[0], a.iloc[1] = c, b
Run Code Online (Sandbox Code Playgroud)
但我最后得到的两行显示第二行的值(3,4).
即使变量b和c现在都分配给3和4,即使我没有再次分配它们.难道我做错了什么?
我有一个包含许多重复行的数据集,我想仅隔离非重复值。我的 df 看起来像这样
df <- data.frame("group" = c("A", "A", "A","A","A","B","B","B"),
"id" = c("id1", "id2", "id3", "id1", "id2","id1","id2","id1"),
"Val" = c(10,10,10,10,10,12,12,12))
Run Code Online (Sandbox Code Playgroud)
我想提取的只是没有重复的行。即我的最终数据集应该如下所示
final <- data.frame("group" = c("A","B"),
"id" = c("id3","id2"),
"Val" = c(10,12))
Run Code Online (Sandbox Code Playgroud)
请注意,我对查找唯一值不感兴趣,而是对不重复的值感兴趣。我知道如何找到独特的价值,例如df %>% distinct()做这份工作。它正在区分我正在努力解决的非重复行
rows ×10
r ×2
sql ×2
unique ×2
aggregate ×1
android ×1
clickable ×1
collapse ×1
database ×1
dataframe ×1
datagridview ×1
distinct ×1
duplicates ×1
fetch ×1
gridview ×1
indexing ×1
jquery ×1
ms-access ×1
oracle ×1
pandas ×1
pdo ×1
php ×1
plsql ×1
python ×1
row ×1
sum ×1
swap ×1
transpose ×1
vb.net ×1